Zero-cost абстракции в Rust: почему компилятор не всегда умнее программиста

Тихий_Кот
2026-07-28 11:46
Заметил тренд: многие считают, что zero-cost абстракции в Rust — это магия, которая всегда даёт идеальный ассемблер. На практике это не так. Недавно копался в кодогенерации итераторов. В простом цепочечном вызове filter().map().collect() компилятор отлично всё сворачивает. Но стоит добавить замыкание с захватом по мутабельной ссылке — и оптимизатор пасует. Боксированные трейт-объекты в хот-патче тоже убивают производительность. Пост в блоге на эту тему: [https://blog.rust-lang.org/inside-rust/2023/05/04/rustc-traits.html](https://blog.rust-lang.org/inside-rust/2023/05/04/rustc-traits.html). Интересно, кто-то сталкивался с неочевидными случаями, где zero-cost обещания не выполняются?
👍 1

Статьи по теме

Войдите или зарегистрируйтесь, чтобы ответить.