Rust 1.94.0: array_windows для срезов и include в конфигурации Cargo
05.03.2026Вышел Rust 1.94.0. Две главные вещи: у срезов появился итератор array_windows с элементами фиксированной длины, а конфигурация Cargo научилась включать другие файлы.
array_windows
Метод работает как windows, но элементом итератора становится &[T; N] — срез известной длины, а не динамический. Это устраняет ручную индексацию в задачах вида «найти все подпоследовательности длины N».
Отдельная приятность: длину окна часто удаётся вывести из способа использования. Если дальше идёт разбор кортежа, компилятор сам поймёт, что нужно окно в три элемента, — указывать константу вручную не приходится.
include в конфигурации Cargo
В файле .cargo/config.toml теперь можно указать include — список файлов, содержимое которых подставляется на место директивы. Сами включения могут быть необязательными.
Это позволяет раскладывать конфигурацию по файлам и использовать одну и ту же настройку в нескольких проектах и окружениях, вместо того чтобы копировать её целиком.
Разбор TOML 1.1
Появилась поддержка спецификации TOML 1.1: многострочные встроенные таблицы с висячими запятыми, escape-последовательности для шестнадцатеричного кода и escape, необязательные секунды во времени.
Практическая оговорка: новые возможности в манифесте поднимают требование к версии, но Cargo переписывает манифест при публикации. То есть можно держать старое требование для пользователей, при этом пользуясь новым синтаксисом у себя. Сторонним программам, разбирающим манифесты, изменения потребуют.
Что ещё стабилизировано
LazyCellиLazyLock— методыget,get_mut,force_mut;Peekable::next_if_mapи вариант с изменяемым доступом;- константы
EULER_GAMMAиGOLDEN_RATIOдля чисел с плавающей точкой,mul_addв константных контекстах; - интринсики для полуразрядной точности: расширения AVX512-FP16 на x86 и NEON FP16 на AArch64, кроме зависящих от нестабильного типа.
Оригинал
Announcing Rust 1.94.0 от 5 марта 2026 года
Упоминаний: 1 · Просмотров: 5