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