Полный текст
Всё что нужно и не нужно знать про заимствование в RustRust хочет почти невозможного: контроль над памятью, как в C++, но без сборщика мусора и опасных ошибок вроде гонки данных или висячих указателей. Плата за такую безопасность — строгие правила владения (ownership) и заимствования (borrowing).Именно здесь на сцену выходит грозный borrow checker. Автор признаётся, что первый проект на Rust заставил его «поседеть»: компилятор упорно ругался, высасывая весь сахар из мозга. Эта борьба знакома многим.Но воевать с borrow checker'ом — путь в никуда. Гораздо продуктивнее его понять и подружиться. Разберёмся в логике заимствований, чтобы работа с Rust превратилась из мучения в сотрудничество.