Выпуск Rust 1.99.0

3 мин
Выпуск Rust 1.99.0

1 октября 2026 года состоялся выпуск языка программирования Rust 1.99. Вклад в разработку этого обновления внесли 506 программистов со всего мира. Предыдущая стабильная версия решения состоялась в августе 2026 года. Релиз проекта Rust 1.80 вышла в июле 2024 года. Релиз Rust 1.85.0 (Rust 2024) состоялся 20 февраля. Выпуск Rust 1.87.0 и празднование десяти лет после выхода Rust 1.0 произошло в мае 2025 года.

Текущий релиз включает в себя ряд стабилизированных api, доработанную стандартную библиотеку, в проекте добавлены средства контроля предупреждений Cargo и отображаются сообщения компоновщика.

Язык Rust сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).

Основные изменения и дополнения в Rust 1.99 (Rust, Cargo и Clippy):

  • функции с переменным числом аргументов в стиле extern C. В версии Rust 1.99.0 стабилизирована возможность определения функций с переменным числом аргументов (variadic functions), использующих ABI C и C‑unwind. Такие функции используют список аргументов переменной длины (...) и принимают произвольное количество аргументов. Ранее Rust уже позволял вызывать внешние функции с переменным числом аргументов (в частности, libc::printf), а начиная с версии 1.99 их можно писать непосредственно на самом Rust:

/// SAFETY: must be called with (at least) 2 i32 arguments.
unsafe extern "C" fn sum(mut args: ...) -> i32 { // SAFETY: guaranteed by the caller. let a = unsafe { args.next_arg::<i32>() }; let b = unsafe { args.next_arg::<i32>() }; a + b
} fn foo() -> i32 { unsafe { sum(0i32, 2i32) }
}

Тип ... — это VaList, который является ABI-совместимым с типом va_list языка C на всех целевых платформах. Допустимые типы для чтения из VaList определяются трейтом VaArgSafe. Подробную информацию о функциях с переменным числом аргументов в стиле C (c-variadic functions) можно найти в справочном руководстве (Reference). В этом выпуске также стабилизирована поддержка определения функций с переменным числом аргументов типа naked и ABI, отличным от C; такие функции должны реализовываться с использованием встроенного ассемблера.

Читают сейчас

«Яндекс» теперь блокирует больше нежелательных звонков на iPhone

14 минут назад

«Яндекс» теперь блокирует больше нежелательных звонков на iPhone

В пресс‑службе «Яндекса» у рассказали, что определитель номера «Яндекса» теперь в режиме реального времени проверяет номера по онлайн‑базе и решает, разрешить вызов или заблокировать. Это позволяет за

«От тикета до продакшна»: серия открытых лекций о процессах разработки

14 минут назад

«От тикета до продакшна»: серия открытых лекций о процессах разработки

В октябре в Nexign запускается серия открытых онлайн-лекций: на протяжении 6 недель будем разбираться с экспертами Nexign и других компаний, как устроен путь IT-продукта. К вебинарам может подключитьс

Защита ERP-систем на базе 1С

19 минут назад

Защита ERP-систем на базе 1С

18 ноября в Москве пройдет встреча «Безопасная 1С: как защитить ERP без потери производительности». На примере популярной ERP-платформы эксперты разберут, какие уязвимости и ошибки конфигурации создаю

Reddit ограничит доступ к старой версии некоторым пользователям

28 минут назад

Reddit ограничит доступ к старой версии некоторым пользователям

Reddit ограничит доступ к ресурсу Old.Reddit.com. Пользоваться сайтом смогут только те, кто заходил на него под своей учётной записью на протяжении последних шести месяцев. Читать далее

Claude Code и Codex внутри JetBrains IDE: Air вышел в ранний доступ

1 час назад

Claude Code и Codex внутри JetBrains IDE: Air вышел в ранний доступ

JetBrains открыли Early Access Program для Air внутри своих IDE. Расширение уже доступен в Marketplace, а в сборках 2026.3 EAP Air встроен. Через него можно запускать несколько AI-агентов параллельно,