lëshimi i gjuhës programuese të sistemit , e themeluar nga projekti Mozilla. Gjuha fokusohet në sigurinë e kujtesës, siguron menaxhimin automatik të kujtesës dhe ofron mjete për arritjen e paralelizmit të lartë të detyrave pa përdorur një grumbullues mbeturinash dhe .
Menaxhimi automatik i kujtesës i Rust eliminon gabimet gjatë manipulimit të treguesve dhe mbron nga problemet që lindin nga manipulimi i nivelit të ulët të memories, të tilla si qasja në një rajon memorie pasi të jetë liruar, mosreferencat e treguesit null, tejkalimet e buferit, etj. Një menaxher paketash po zhvillohet për të shpërndarë bibliotekat, për të siguruar montimin dhe për të menaxhuar varësitë nga projekti. , duke ju lejuar të merrni bibliotekat e nevojshme për programin me një klik. Një depo mbështetet për të pritur bibliotekat .
Në tekstin e njoftimit të versionit të ri, zhvilluesit e Rust u përfshinë në politikë dhe refuzuan të publikonin një përmbledhje të plotë të ndryshimeve në Rust 1.44 si shenjë solidariteti me protestuesit kundër dhunës policore, duke treguar se kjo çështje është më e rëndësishme sesa shkëmbimi i njohurive teknike. bazë :
- Menaxheri i paketĂ«s sĂ« ngarkesave integron komandĂ«n "pema e ngarkesave", e cila shfaq njĂ« grafik varĂ«sie tĂ« ngjashme me pemĂ«n. Shtohet gjithashtu opsioni "âduplicates" ("pema e ngarkesave -d"), i cili ju lejon tĂ« vlerĂ«soni varĂ«sitĂ« nĂ« versione tĂ« ndryshme tĂ« sĂ« njĂ«jtĂ«s paketĂ«.
mdbook v0.3.2 (/Users/src/rust/mdbook)
âââ amoniak v3.0.0
â âââ html5ever v0.24.0
â â âââ log v0.4.8
â â â âââ cfg-if v0.1.9
â â âââ mac v0.1.1
â â âââ markup5ever v0.9.0
â â âââ log v0.4.8 (*)
â â âââ phf v0.7.24
â â â âââ phf_shared v0.7.24
â â â âââ siphasher v0.2.3
â â â âââ unicase v1.4.2
â â â [varĂ«si ndĂ«rtimi] â â â âââ version_check v0.1.5
... - Për aplikacionet që nuk lidhen me një std ("#![no_std]"), mbështetja për teknikat e programimit asinkron zbatohet bazuar në funksionin "async", bllokun async move { ... } dhe operatorin ".wait", i cili thjeshtoni shkrimin e rrjedhës kryesore të komandave të mbajtësve jo-bllokues.
- Mbështetja për një skemë të përkufizimit të hierarkisë së modulit të zgjeruar është shtuar në analizues. Për shembull, konstrukti i mëposhtëm nuk do të prodhojë një gabim, pavarësisht mungesës aktuale të modulit "foo/bar/baz.rs" (konstrukti është ende semantikisht i pavlefshëm dhe mund të shkaktojë një gabim, por ndryshimet mund të shihen dhe analizohen në niveli i kompilimit makro dhe i kushtëzuar):
#[cfg(FALSE)] mod foo {
shiriti i modalitetit {
mod baz;
}
} - Përpiluesi rustc ka shtuar aftësinë për të përdorur flamurin "-C codegen-units" në modalitetin incremental. Zbatimi i catch_unwind është ripunuar në mënyrë që të mos ketë ndikim në performancë nëse procesi i shthurjes çaktivizohet dhe nuk bëhen përjashtime.
- Mbështetja e nivelit 64 është ofruar për platformat aarch64-unknown-none, aarch64-unknown-none-softfloat, arm86-apple-tvos dhe x64_XNUMX-apple-tvos. Niveli i tretë përfshin mbështetjen bazë, por pa testime dhe publikime të automatizuara të ndërtimeve zyrtare.
- Një pjesë e re e API-ve është transferuar në kategorinë e qëndrueshme, duke përfshirë të stabilizuar
PathBuf::me_kapacitet,
PathBuf:: Kapaciteti,
PathBuf:: qartë,
PathBuf::rezervë,
PathBuf::reserve_exact,
PathBuf::shrink_to_fit,
{f32|f64}::to_int_uncheked,
Layout::align_to,
Layout::pad_to_align,
Layout::array dhe
Paraqitja::zgjero. - Funksionet e zgjeruara të bibliotekës standarde:
- U shtua një variant i veçantë "vec![]" që pasqyrohet drejtpërdrejt në Vec::new(), duke lejuar që "vec![]" të përdoret në kontekst në vend të konstanteve.
- Një zbatim (impl) i tiparit është shtuar për të konvertuar::I pagabueshëm .
- OsString zbaton tregues inteligjentë О , duke kthyer "&mut OsStr".
- Mbështetje e shtuar për Unicode 13.
- Zbatuar në String .
- IoSlice zbaton tiparin .
- Vec zbatuar Nga<[T; N]>.
- proc_macro::LexError zbaton fmt::Display dhe Error.
- Atributi âconstâ, i cili pĂ«rcakton nĂ«se mund tĂ« pĂ«rdoret nĂ« çdo kontekst nĂ« vend tĂ« konstanteve, pĂ«rdoret nĂ« metodat nga_le_bytes, nĂ«_le_bytes, nga_be_bytes, nĂ«_be_bytes, nga_ne_bytes dhe nĂ«_ne_bytes pĂ«r tĂ« gjitha llojet e numrave tĂ« plotĂ«.
- U shtua mbështetje për gjenerimin e bibliotekave statike në formatin ".a" në vend të ".lib" për platformat GNU në Windows.
- Kërkesat minimale për LLVM janë ngritur në versionin 8 të LLVM.
Burimi: opennet.ru
