В Rust есть "встроенный" атрибут, который можно использовать в одном из этих трех вариантов:
#[inline]
#[inline(always)]
#[inline(never)]
Когда их следует использовать?
В справочнике Rust мы видим раздел встроенных атрибутов, в котором говорится
Компилятор автоматически встраивает функции на основе внутренней эвристики. Неправильное встраивание функций может фактически замедлить работу программы, поэтому использовать ее следует с осторожностью.
На форуме Rust internals huon также консервативно подходил к указанию inline .
Но мы видим значительное использование в исходном коде Rust, включая стандартную библиотеку. К однострочным функциям добавляется множество встроенных атрибутов, которые компиляторам должно быть легко обнаружить и оптимизировать с помощью эвристики в соответствии со ссылкой. На самом деле они не нужны?
источник
inline(never)
это используется во встроенных функциях паники, чтобы убедиться, что оптимизатор не встраивает функции, которые вызываются только в случае паники.