我想了解 Rust 中
我从未听说过“函数原型”一词与 Rust 相关。我知道这个概念在 JavaScript 中存在,但是 JavaScript 和 Rust 的对象和类型系统非常不同!这里是什么意思?
进一步搜索,我在Error Index中找到了两个有关函数原型的提及:
#[inline]
属性的行为,所以我阅读了The Rust Reference中的属性部分。它非常有帮助,但是我发现描述中的这部分让人感到困惑(重点在于我):
此警告对于
inline
属性建议编译器将带有该属性的函数副本放置在调用者中,而不是生成调用该函数的代码。该属性可用于函数和函数原型,但在函数原型上不起作用。
#[cold]
属性也是如此。我从未听说过“函数原型”一词与 Rust 相关。我知道这个概念在 JavaScript 中存在,但是 JavaScript 和 Rust 的对象和类型系统非常不同!这里是什么意思?
进一步搜索,我在Error Index中找到了两个有关函数原型的提及:
E0034
编译器不知道调用哪个方法,因为有多个方法具有相同的原型。
E0580
main
函数声明不正确。 main
函数原型不应该带参数。
在这种情况下,“函数原型”似乎意味着“函数签名”——组成函数外部接口的名称、参数和类型。这也似乎是C/C++语言环境下的含义。然而,这与上面的用法似乎不符;每个函数定义都以函数的签名开始,因此将属性放在签名上时说它什么也不做是没有意义的,因为这就是在函数上放置属性时所做的事情。
在Rust语言环境中,“函数原型”一词是什么意思?