Как менять Rust-код без перезапуска приложения
Поменяли пару строк — и снова запускайте приложение, подключайтесь к БД, открывайте тестовые файлы, восстанавливайте состояние. Hotreload позволяет этого не делать:
код обновляется прямо во время работы программы, а текущее состояние сохраняется.
В Rust один из способов построить такой механизм — динамические библиотеки. На словах всё просто: пересобрали код, заменили библиотеку и продолжили работу. На практике быстро всплывают вопросы безопасности, синхронизации и производительности, а ручная обвязка начинает разрастаться.
Автор разбирает эти проблемы одну за другой и в итоге сводит использование hotreload к
#[hotreload] перед функцией —
без необходимости переписывать места её вызова.