Опубликован релиз языка программирования Rust 1.99, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).
Опубликован релиз языка программирования Rust 1.99, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).
Методы работы с памятью в Rust нацелены на исключение ошибок при манипулировании указателями и защиту от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.
Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.
Основные новшества:
unsafe extern "C" fn sum(mut args: ...) -> i32 {
let a = unsafe { args.next_arg::<i32>() };
let b = unsafe { args.next_arg::<i32>() };
a + b
}
fn foo() -> i32 {
unsafe { sum(0i32, 2i32) }
}
IntoIterator for Box<[T; N]>IntoIterator for &Box<[T; N]>IntoIterator for &mut Box<[T; N]>VecDeque::retain_backcore::ffi::VaListBox::into_non_nullBox::from_non_nullVec::into_partsVec::from_partscore::mem::size_of_val_rawcore::mem::align_of_val_rawcore::alloc::Layout::for_value_rawString::from_utf8_lossy_ownedstring::FromUtf8Error::into_utf8_lossyFusedIterator for StepBy<I>std::fs::set_timesstd::fs::set_times_nofollowДополнительно можно отметить недавно анонсированные проекты и события, связанные с Rust:
В качестве основной цели применения Rust в Microsoft упоминается усиление защищённости кода, критичного с точки зрения безопасности. По словам технического директора Microsoft Azure около 70% всех уязвимостей в Windows вызваны проблемами при работе с памятью, которых можно избежать при использовании Rust.
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | [Перевод] Rust 1.99.0: функции с переменным числом аргументов, информация о схеме размещения типа | 0 | 11.43 | 02-10-2026 |
| 2 | Rust на вырост. Почему мы изучаем язык, который не входит в наш основной стек | -1 | 7.24 | 10-09-2026 |
| 3 | Rust для микроконтроллеров: что он даёт по сравнению с С | 1 | 6.6 | 29-09-2026 |
| 4 | 900 гипотез об уязвимостях и 12 миллиардов токенов | 0 | 8.99 | 01-10-2026 |
| 5 | Чудеса nightly, часть 1: на чём тайком держится stable Rust | 0 | 8.55 | 29-09-2026 |
| 6 | [Перевод] Rewrite It in Rust: когда переписывание действительно оправдано | 0 | 7.99 | 19-09-2026 |
| 7 | Задача взяла lock() и остановила весь рантайм: пять ошибок с блокировками в async Rust | 0 | 6.57 | 07-09-2026 |
| 8 | lang/rust188 - 1.88.0_1 | 0 | 8.1 | 02-10-2026 |
| 9 | Декларативные макросы в Rust: полное руководство | 0 | 6.83 | 14-09-2026 |
| 10 | Выпуск языка программирования Zig 0.17.0 | 0 | 8.9 | 03-10-2026 |