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 automaatne mĂ€lu haldus vabastab arendaja nĂ€idikutest ja kaitseb madala taseme mĂ€lu kĂ€sitlusega seotud probleemide eest, nagu nĂ€iteks mĂ€lu juurde pÀÀsemine pĂ€rast selle vabastamist, nullnĂ€idikute dereferentsimine, puhverserverist vĂ€lja minemine jne. Teegikogude levitamiseks, koostamise tagamiseks ja sĂ”ltuvuste haldamiseks areneb vĂ€lja pakihaldur. , mis vĂ”imaldab vajalikke raamatukogusid ĂŒhe klikiga hankida. Raamatukogude paigutamiseks toetatakse hoidlapaiku .
Uue versiooni vĂ€ljaande teates on Rusti arendajad laskunud poliitikasse ning nĂ€idanud ĂŒles otsustavat keeldumist avaldada Rust 1.44 tĂ€ielikku muudatuste ĂŒlevaadet solidaarsuse mĂ€rgina politseivĂ€givalla vastu protestijatega, mĂ€rkides, et see kĂŒsimus on olulisem kui tehniliste teadmiste vahetus. Peamised :
- Pakihaldur Cargo on integreeritud kĂ€sk «cargo tree», mis vĂ€ljastab sĂ”ltuvuste puustruktuuri. Samuti on lisatud valik «âduplicates» («cargo tree -d»), mis vĂ”imaldab hinnata sĂ”ltuvusi erinevates ĂŒhes pakendis olevates versioonides.
mdbook v0.3.2 (/Users/src/rust/mdbook)
âââ ammonia 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
â â â [build-dependencies]
â â â âââ version_check v0.1.5
⊠- Mitte rakendusi, mis ei ole seotud std (â#![no_std]â), on implementeeritud asĂŒnkroosse programmeerimise meetodite toetus, mis pĂ”hinevad funktsioonil âasyncâ, plokil async move { ⊠} ja operaatoril â.awaitâ, mis lihtsustab peamise kĂ€suviimise voolu mittesekkavate töötlejate kirjutamist.
- Parserisse on lisatud laiendatav skeemi tugi moodulite ieraarsuse mÀÀratlemiseks. NĂ€iteks ei tekita jĂ€rgmine konstruktsioon viga, vaatamata sellele, et moodulit âfoo/bar/baz.rsâ tegelikult ei eksisteeri (semestraalselt on konstruktsioon ikkagi kehtetu ja vĂ”ib pĂ”hjustada viga, kuid muutusi saab nĂ€ha ja analĂŒĂŒsida makrode ja tingimuste kompileerimise tasandil):
#[cfg(FALSE)]
mod foo {
mod bar {
mod baz;
}
} - Kompaileerijasse rustc on lisatud -C codegen-units lipu kasutamise vĂ”imalus inkrementaalses reĆŸiimis. Catch_unwind'i elluviimine on ĂŒmber töötatud, nĂŒĂŒd ei mĂ”juta see jĂ”udlust, kui âĂŒleskeeramiseâ (unwinding) protsess on keelatud ja erandeid ei teki.
- Kolmas tugi on tagatud platvormidele aarch64-unknown-none, aarch64-unknown-none-softfloat, arm64-apple-tvos ja x86_64-apple-tvos. Kolmas tase tÀhendab baas tuge, kuid ilma automatiseeritud testimise ja ametlike ehituste avaldamiseta.
- Uue API osa on tÔlgitud stabiilsete ridade hulka, sealhulgas on stabiliseeritud
PathBuf::with_capacity,
PathBuf::capacity,
PathBuf::clear,
PathBuf::reserve,
PathBuf::reserve_exact,
PathBuf::shrink_to_fit,
{f32|f64}::to_int_unchecked,
Layout::align_to,
Layout::pad_to_align,
Layout::array ja
Layout::extend. - StandardsĂŒsteemi funktsioonid on laienenud:
- Lisatud on uus variant «vec![]», mis peegeldab otse Vec::new(), vÔimaldades kasutada «vec![]» kontekstis, mitte konstantide asemel.
- convert::Infallible lisati rakendus (impl) tĂŒĂŒbile .
- OsStringis rakendatud targad nÀidikud ja , tagastavad «&mut OsStr».
- Lisatud on Unicode 13 tugi.
- Stringis rakendatud .
- IoSlice'is rakendatud tĂŒĂŒp .
- Vec rakendatud From.
- proc_macro::LexErroris rakendatud fmt::Display ja Error.
- MĂ€rgis «const», mis mÀÀrab vĂ”imaluse kasutada igas kontekstis, rakendati meetodites from_le_bytes, to_le_bytes, from_be_bytes, to_be_bytes, from_ne_bytes ja to_ne_bytes kĂ”ikide tĂ€isarvutĂŒĂŒpide jaoks.
- Lisatud on toetamine staatiliste raamatukogude genereerimiseks formaadis «.a» asemel «.lib» GNU-plaatformide jaoks Windowsis.
- Minimaalsed nÔuded LLVM-le tÔsteti versioonini LLVM 8.
Allikas: opennet.ru
