1 месяц назад
Copy vs Clone в Rust: почему использование одногр почти не ест ресурсы а другое может стоить вам дорого
В Rust Copy и `Clone` часто воспринимают как одно и то же: «ну, просто сделать копию». Но разница принципиальная. Copy - это когда значение можно безопасно продублировать как набор байтов. Без вызова кода, без выделения памяти, без скрытой логики. Поэтому u32, bool, char, f64 и другие простые типы спокойно копируются автоматически. Вы передали u32 в функцию - старое значение осталось доступно. Rust просто скопировал число. С Clone другая история. Clone означает: «создай новое значение такого же типа»...