В Rust ужасно сложно делать циклические ссылки, потому что он требует четкого владения памятью.
Но если очень хочется, то можно выкрутиться: например, хранить все в Vec и использовать индексы вместо указателей - это работает, но проверки в рантайме.
А если заморочиться с хитрыми дженериками и трейтами вроде for<'a>, то можно сделать индексы, которые проверяются ещё на этапе компиляции. В итоге получается свой мини-сборщик мусора с трейсингом, который безопасен и позволяет хранить циклические структуры. Правда, выглядит код при этом так, будто ты перемудрил с архитектурой, но зато без unsafe.
30.04.2026
Похожее
04.09.2026
Оптимизация DNS-кэша
Ребята из Cloudflare рассказывают, как пять последовательных оптимизаций расклад...
31.08.2026
Профилирование Rust
В статье про hotpath-rs - универсальный профайлер производительности для Rust. ...
27.08.2026
На Rust после Go
Автор, пять лет писавший на Go, сначала скептически отнесся к появлению Rust в е...
25.08.2026
Вкуc zig после Rust
Автор, семь лет писавший на Rust, переписал свой проект jsonpath-rust на Zig и д...