Rust 有一个“内联”属性,可以用于以下三种风格之一:
#[inline]
#[inline(always)]
#[inline(never)]
什么时候应该使用它们?
在 Rust 参考中,我们看到一个内联属性部分说
编译器根据内部启发式自动内联函数。错误的内联函数实际上会使程序变慢,因此应谨慎使用。
在 Rust 内部论坛中,huon对于指定 inline 也很保守。
但是我们在 Rust 源代码中看到了相当多的使用,包括标准库。在单行函数中添加了很多内联属性,编译器应该很容易根据参考通过启发式发现和优化。这些实际上不需要吗?