Главное
- Rust остаётся языком без GC и тяжёлого runtime, обеспечивая безопасность памяти на этапе компиляции (владение, время жизни, строгая типизация).
- Цель — высокопроизводительный и безопасный параллельный код, без типичных багов низкоуровневой памяти.
Ключевые изменения в 1.91
- Улучшена поддержка Windows на ARM64:
aarch64-pc-windows-msvc поднят до Tier 1 (максимальный уровень гарантии и тестирования).- Новые lint-предупреждения:
-
dangling_pointers_from_locals — ловит возврат висячих указателей.-
integer_to_ptr_transmutes — предупреждает о преобразованиях int → pointer через transmute.- Cargo:
- стабилизирован параметр
build.build-dir для указания каталога временных артефактов.- ABI:
- стабилизирована поддержка C-style variadic functions для sysv64, win64, efiapi, aapcs.
- Inline-assembly:
- стабильная поддержка для LoongArch32.
Почему это важно
Rust укрепляет позиции как безопасный системный язык для серверов, ОС, embedded и высокопроизводительных приложений. Более жёсткие проверки указателей и расширенная поддержка Windows/ARM — шаг к ещё более широкому продакшн-использованию.
$ rustup update stablehttps://blog.rust-lang.org/2025/10/30/Rust-1.91.0/
@rust_code
#Rust #Programming #Release
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36❤6👍3🤩2🗿2⚡1🥰1
🦀 Rust совет: когда использовать &self, &mut self, self и mut self — на реальном примере
Этот сниппет отлично показывает разные модели владения при методах:
Коротко:
- &self → читаем
- &mut self → изменяем
- self → потребляем объект
- mut self → потребляем + модифицируем и возвращаем (удобно для fluent API)
Понимание этих четырёх форм - ключ к грамотной архитектуре в Rust.
#rust #tip #junior
@rust_code
Этот сниппет отлично показывает разные модели владения при методах:
// читает, не меняя
fn len(&self) -> usize { … }
// изменяет объект на месте
fn push(&mut self, b: u8) { … }
// забирает владение — после вызова исходный объект больше недоступен
fn into_vec(self) -> Vec<u8> { … }
// builder-стиль: забирает владение, внутри mut, возвращает обновлённый объект
fn with_extra(mut self, extra: Vec<u8>) -> Self { … }
Коротко:
- &self → читаем
- &mut self → изменяем
- self → потребляем объект
- mut self → потребляем + модифицируем и возвращаем (удобно для fluent API)
Понимание этих четырёх форм - ключ к грамотной архитектуре в Rust.
#rust #tip #junior
@rust_code
❤33👍23🔥8🥰1