Rust ha un attributo "in linea" che può essere utilizzato in uno di questi tre gusti:Quando deve essere usato in linea in Rust?
#[inline]
#[inline(always)]
#[inline(never)]
Quando dovrebbero essere usati?
Nel riferimento Rust, vediamo an inline attributes section dicendo
Il compilatore inline automaticamente le funzioni base di euristiche interne. Le funzioni di inlining in modo errato possono effettivamente rallentare il programma, quindi dovrebbe essere usato con attenzione.
Nel forum di Rust internals, huon era anche conservative about specifying inline.
Ma vediamo considerable usage nella sorgente di Ruggine, inclusa la libreria standard. Molti attributi inline vengono aggiunti alle funzioni a una riga, che dovrebbero essere facili da individuare e ottimizzare per i compilatori tramite l'euristica in base al riferimento. Sono quelli che in realtà non sono necessari?
nota che 'inline (never)' viene utilizzato sull'intrins del panico per assicurarsi che l'ottimizzatore non funzioni inline che vengono chiamate solo nel caso di panico. –