В этой статье вы прочитаете что нового в новой версии языка программирования Rust 1.49, который сделан для разработки систем.
Опубликован релиз языка системного программирования Rust 1.49, основанного проектом Mozilla и в этой статье мы разберём что в нём нового появилось.
Также посмотрите статью на тему Разработки под персональные компьютеры, думаю вам будет интересно.
Что нового в языке Rust 1.49:
- Обеспечен первый уровень поддержки 64-разрядных систем ARM в окружениях на базе ядра Linux и Glibc (aarch64-unknown-linux-gnu). Ранее на первом уровне обеспечивалась поддержка архитектур x86_64 (Linux, macOS, Windows) и i686 (Linux, Windows). В окружениях macOS и Windows уровень поддержки ARM 64 доведён до второго уровня Добавлена поддержка систем Apple, оснащённых новым ARM-чипом M1. Реализован третий уровень поддержки платформы MIPS little-endian;
- Во встроенном тестовом фреймворке улучшена обработка сценариев проверки многопоточных обработчиков. Вывод тестов, выполняемых в отдельных потоках, теперь не перемешивается с сообщениями тестового фреймворка. Весь диагностический вывод оформлен единым блоком, который сохраняется в лог, но выводится на экран только в случае сбоя или выполнения операции «panic!»;
- В шаблонах реализована возможность привязки по ссылке или перемещению, которая позволяет выборочно заимствовать (borrow) отдельные компоненты типа.
1234567891011121314#[derive(Debug)]struct Person {name: String,age: u8,}let person = Person {name: String::from("Alice"),age: 20,};// `name` is moved out of person, but `age` is referenced.let Person { name, ref age } = person;println!("{} {}", name, age); - Разрешено приведение перечислений без вариантов (например, enum Void) в целые типы с использованием оператора «as»:
12345pub enum Void {}#[no_mangle]pub fn bar(v: Void) -> usize {v as usize} - В разряд стабильных переведена новая порция API, в том числе стабилизированы методы
slice::select_nth_unstable
,slice::select_nth_unstable_by
иslice::select_nth_unstable_by_key
. - Признак «const», определяющий возможность использования в любом контексте вместо констант, применён в методах
Poll::is_ready
иPoll::is_pending
. - В пакетном менеджере Cargo в команду «cargo metadata» добавлена поддержка полей «homepage» и «documentation». Добавлена переменная окружения
CARGO_PRIMARY_PACKAGE
, которая устанавливается при сборке в rustc корневого пакета, указанного в командной строке. В именах пакетов и целевых платформ разрешено использование масок, например «-p ‘serde*'» или «—test ‘*'». Обеспечена возможность независимой повторяемой пересборки crate-пакетов при помощи команды cargo-package. - Требования к минимально поддерживаемой версии LLVM подняты до LLVM 9.
Вывод:
В этой статье вы прочитали что есть нового в языке программирования Rust 1.49, думаю вам было интересно.
Источник: OpenNet
Подписываетесь на соц-сети:
Также рекомендую:
0 комментариев