süsteemse programmeerimise keele väljaanne , mille Mozilla. Keel keskendub mälu ohutusele, tagab automaatse mälu juhtimise ja pakub tööde kõrge paralleelsuse saavutamise vahendeid, ilma et oleks vaja prügikorjajat ja .
Rustis tagab automaatne mälu haldamine arendajale mälukäitlemise manipuleerimise vabastamise ja kaitseb madala taseme mälu töötlemisega seotud probleemide eest, nagu mälu kasutamine pärast selle vabastamist, nullviidete de-referentsimine, puhverduspiiride ületamine jne. Raamatukogude jagamiseks, koostamise tagamiseks ja sõltuvuste haldamiseks arendatakse pakihaldurit , mis võimaldab vajalikke raamatukogusid ühe klikiga hankida. Raamatukogude paigutamiseks toetatakse hoidlapaiku .
Peamised :
- В макросах обеспечена возможность использования фрагментов элементов для их превращения в код типажей (trait), реализаций (impl) или внешних блоков. Например:
macro_rules! mac_trait {
($i:item) => {
trait T { $i }
}
}
mac_trait! {
fn foo() {}
}Приведёт к генерации:
trait T {
fn foo() {}
} - Улучшено определение типа примитивов, ссылок и двоичных операций.
Например, нижеследующий код, ранее вызывавший ошибку, теперь сможет быть скомпилирован (Rust теперь корректно определяет, что 0.0 и &0.0 должны быть типа f32):let n: f32 = 0.0 + &0.0;
- В Cargo добавлена новая переменная окружения CARGO_BIN_EXE_{имя}, выставляемая при построении интеграционных тестов и позволяющая определить полный путь до исполняемого файла, определённого в секции «[[bin]]» пакета.
- В выражениях «if» разрешено использование атрибутов, таких как «#[cfg()]».
- В библиотеке предоставлена возможность использования ассоциированных констант напрямую для целых и дробных типов, без импорта модуля. Например, можно сразу писать u32::MAX или f32::NAN без предварительного указания «use std::u32» и «use std::f32».
- Uus moodul lisatud , который реэкспортирует примитивные типы Rust, например, когда необходимо написать макрос и убедиться, что типы не скрыты.
- Uue API osa on tõlgitud stabiilsete ridade hulka, sealhulgas on stabiliseeritud
Once::is_completed,
f32::LOG10_2,
f32::LOG2_10,
f64::LOG10_2,
f64::LOG2_10 и
iter::once_with.
Allikas: opennet.ru
