Rust tiene un atributo "en línea" que se puede usar en uno de esos tres sabores:
#[inline]
#[inline(always)]
#[inline(never)]
¿Cuándo deben usarse?
En la referencia de Rust, vemos una sección de atributos en línea que dice
El compilador integra automáticamente funciones basadas en heurísticas internas. La inserción incorrecta de funciones puede hacer que el programa sea más lento, por lo que debe usarse con cuidado.
En el foro interno de Rust, huon también fue conservador acerca de especificar en línea .
Pero vemos un uso considerable en la fuente de Rust, incluida la biblioteca estándar. Se agregan muchos atributos en línea a las funciones de una línea, que deberían ser fáciles de detectar y optimizar para los compiladores a través de heurísticas de acuerdo con la referencia. ¿Son esos de hecho no necesarios?
fuente
inline(never)
se utiliza en los intrínsecos de pánico para asegurarse de que el optimizador no incorpore funciones que solo se invocan en el caso de pánico.