В Rust ужасно сложно делать циклические ссылки, потому что он требует четкого владения памятью.
Но если очень хочется, то можно выкрутиться: например, хранить все в Vec и использовать индексы вместо указателей - это работает, но проверки в рантайме.
А если заморочиться с хитрыми дженериками и трейтами вроде for<'a>, то можно сделать индексы, которые проверяются ещё на этапе компиляции. В итоге получается свой мини-сборщик мусора с трейсингом, который безопасен и позволяет хранить циклические структуры. Правда, выглядит код при этом так, будто ты перемудрил с архитектурой, но зато без unsafe.
30.04.2026
Похожее
29.04.2026
Rust коаны
Отличный сайт с невероятной мудростью по Rust. Я обожаю thecodelesscode.com, а т...
28.04.2026
Как полюбить лайфтамы
Cтатья о том, как в Rust сделать zero-copy страницы для базы данных, чтобы не го...
27.04.2026
Учимся на примере uv
Одни из лучих способо учиться прогать - это разбирать хорошие программы с открты...
24.04.2026
Тип для всего
Автор делится реальным опытом возникновения серьёзной ошибки из-за неправильного...