Автор? ты из какой нAры вылез, а ну влезай обратно))1. lazy_static крейт для безопасной инициализации статической переменной при обращении, да, там действительно есть проверка была ли инициализирована ранее переменная при обращении к самой переменной.
1. и нет, mutex там нет и refcell нет, еще че придумали, refcell работает безопасно лишь в однопотоке предоставляя безопасную изменчивую переменную да И ЗАЧЕМ ОНО ЗДЕСЬ...
2. lazy_static работает в многопотоке ИСКЛЮЧИТЕЛЬНО на атомарных значениях, он не предоставляет гарантий гонок изменчивости переменной, только на атомарах гарантию одноразовой инициализации в многопотоке.
Да и автоматическую инициализацию статической переменной можно убрать сделав стоимость ваще 0zero, для этого используем крейт once_cell (там типы исключительно для одноразовой безопасной инициализации без прозрачности). Да и вообще можно пометить unsafe static и просто не предоставлять никаких гарантий безопасности)
Итого все написано до нас, просто бери и используй, данные крейты нужны лишь для безопасной одноразовой инициализации статических значений не более, да и стоимость их использования КРАЙНЕ мала (а на once_cell ваще 0).
"Но вот то, что они позволяют себе писать Cargo.toml, не добавляя lf в конец последней строки -- это, конечно, ай-яй-яй, как так можно, вывод в консоль перекосило из-за этого."
Автор, какой if?:) Случаем toml формат знаете? INI ближний формат, какой там if?:)
"Вот к чему есть вопросы, так это к производительности этой реализации."
?:) Тоесть ваших знаний не хватило на элементарное в rust, но при этом вы делаете такие выводы?:)