В Rust ужасно сложно делать циклические ссылки, потому что он требует четкого владения памятью.
Но если очень хочется, то можно выкрутиться: например, хранить все в Vec и использовать индексы вместо указателей - это работает, но проверки в рантайме.
А если заморочиться с хитрыми дженериками и трейтами вроде for<'a>, то можно сделать индексы, которые проверяются ещё на этапе компиляции. В итоге получается свой мини-сборщик мусора с трейсингом, который безопасен и позволяет хранить циклические структуры. Правда, выглядит код при этом так, будто ты перемудрил с архитектурой, но зато без unsafe.
30.04.2026
Похожее
13.05.2026
Суперкомпьютер
В статье описывается опыт использования суперкомпьютера MareNostrum V (стоимость...
13.05.2026
Awesome axum
axum - это библиотека для маршрутизации HTTP и обработки запросов, написанная на...
12.05.2026
Свой TOML парсер
В этой статье научимся правильно обрабатывать ошибки в Rust. Учится будем создав...
11.05.2026
pgrust
Почему бы не переписать на Rust все? Не, ну прям реально все, даже если оно норм...