Передача запозичених даних
Тепер можно коротко підсумувати правила використання посилань в Rust:
- Rust дозволяє створювати лише одне мутабельне посилання на ресурс або декілька не мутабельних посилань, і ні в якому разі неможна мати і ті і ті одночасно.
- Посилання не повинні жити довше ніж ресурс на котрий вони посилаються.
Зазвичай це до речі не є проблемою, якщо посилання веде на функцію.
Деталі роботи за памяттю:
- Перше правило запобігає так званому "перегону даних", або якщо більш по людьськи - розсінхрону, таке відбувається якщо по двум різним посиланням одразу починають записувати данні. Зустрічається таке переважно в асінхронному програмувані.
- Друге правило запобігає утворенню так званих "посилань-зомбі", котрі звертаються до вже не існуючих даних.