В Rust ужасно сложно делать циклические ссылки, потому что он требует четкого владения памятью.
Но если очень хочется, то можно выкрутиться: например, хранить все в Vec и использовать индексы вместо указателей - это работает, но проверки в рантайме.
А если заморочиться с хитрыми дженериками и трейтами вроде for<'a>, то можно сделать индексы, которые проверяются ещё на этапе компиляции. В итоге получается свой мини-сборщик мусора с трейсингом, который безопасен и позволяет хранить циклические структуры. Правда, выглядит код при этом так, будто ты перемудрил с архитектурой, но зато без unsafe.
30.04.2026
Похожее
29.09.2026
zedis
Нативный Redis GUI, написанный на Rust с использованием GPUI. Тот же движок ренд...
25.09.2026
Робоутка
Microduck от Pollen Robotics - это открытый репозиторий "мозга" крошечного двуно...
22.09.2026
Реверс самоката
Автор занимается реверс-инжинирингом своего электросамоката. Через Bluetooth-...
04.09.2026
Оптимизация DNS-кэша
Ребята из Cloudflare рассказывают, как пять последовательных оптимизаций расклад...