В Rust ужасно сложно делать циклические ссылки, потому что он требует четкого владения памятью.
Но если очень хочется, то можно выкрутиться: например, хранить все в Vec и использовать индексы вместо указателей - это работает, но проверки в рантайме.
А если заморочиться с хитрыми дженериками и трейтами вроде for<'a>, то можно сделать индексы, которые проверяются ещё на этапе компиляции. В итоге получается свой мини-сборщик мусора с трейсингом, который безопасен и позволяет хранить циклические структуры. Правда, выглядит код при этом так, будто ты перемудрил с архитектурой, но зато без unsafe.
30.04.2026
Похожее
13.06.2026
Свой Max с E2E
Статья про кастомный клиент для Max с сквозным шифрованием и все это на Rust. От...
04.06.2026
58 720 256 ключей
Статья о крупном инциденте в рабочем процессе LinkedIn, когда их база данных, на...
03.06.2026
Rust на Kindle
Автор джейлбрейкнул Kindle Paperwhite 7-го поколения и научился кросс-компилиров...
02.06.2026
Визуальный туториал по bevy
Визуальный обзор Bevy — игрового движка на Rust с data-driven архитектурой. В...