TGViewer
Блог* Блог* @dereference_pointer_there · 1.98K subscribers
Post #10523 1.02K
#prog #rust #rustreleasenotes

Вышла версия Rust 1.92.0! Как всегда, тут только интересные мне моменты — всё остальное в детальных заметках о релизе.

▪️Информация по оптимизации времени сборки теперь есть прямо в Cargo book 🎉 (PR)

▪️Линты про проблемы, связанные с never type fallback, теперь deny by default.

▪️Теперь на функциях можно комбинировать #[track_caller] и #[no_mangle]. Технически это можно было делать и раньше, но до этого релиза преобразование подобной функции в указатель на функцию сохраняло атрибут #[no_mangle], что приводило к ошибкам линковки. Если что, работает эта комбинация только на функциях с extern "Rust".

▪️Операции &raw const/&raw mut для взятия адреса теперь можно использовать на полях объединений в safe коде.

▪️Линт unused_must_use теперь не срабатывает на значениях Result<T, E>, где тип E не населён.

▪️Iterator::eq{, by} теперь может сделать ранний возврат на TrustedLen итераторах. Да, это означает, что теперь этот метод может отбрасывать операции с побочными эффектами.

▪️Методы count и last на iter::Repeat теперь паникуют вместо входа в бесконечный цикл.

▪️Стабилизированы некоторые API:

🔸std::panic::Location::file_as_cstr (полезно для интеропа с C/C++)
🔸RwLockWriteGuard::downgrade для понижения блокировки на запись до блокировки на чтение
🔸new_zeroed и new_zeroed_slice на умных указателях. Сами конструкторы safe, потому что возвращают аллокации с MaybeUninit вместо значений напрямую.
🔸insert_entry на btree_map::Entry и btree_map::VacantEntry, которые вставляют переданное значение и возвращают OccupiedEntry (аналогичные методы для HashMap стабилизировали год назад)

▪️Методы rotate_left и rotate_right на слайсах теперь можно вызывать в const-контекстах.

▪️Поиск в rustdoc теперь скрывает методы трейтов на типах из результатов поиска, если в списке есть сам метод трейта. Например, поиск по "last" покажет Iterator::last и BTreeSet::last (метод на BTreeSet, не имеющий отношения к Iterator), но не покажет, скажем, std::vec::IntoIter::last.

▪️Компилятор теперь по умолчанию генерирует таблицы для раскрутки стека даже с -C panic=abort. Это сделано для рабочих трассировок стека (которые могут быть созданы не только паникой). Убрать эти таблицы можно ключём -C force-unwind-tables=no.
blog.rust-lang.org Announcing Rust 1.92.0 | Rust Blog Empowering everyone to build reliable and efficient software.
  • 👍 8
  • 🎉 3
More from @dereference_pointer_there
  1. Oct 13, 2026#prog #rust #suckassstory github.com/rust-lang/rust/issues/164250 use std::sync::Mutex; st…
  2. Oct 12, 2026Post #11586
  3. Oct 12, 2026Блинчики могут помочь возбудить девушку.
  4. Oct 12, 2026Число совершивших террористические преступления детей выросло вдвое https://www.rbc.ru/soc…
  5. Oct 11, 2026Не пытайтесь
  6. Oct 11, 2026#prog #ml #meme
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →