lage langaj pwogramasyon sistèm lan , ki te fonde pa pwojè Mozilla. Lang lan konsantre sou sekirite memwa, bay jesyon memwa otomatik, epi li bay zouti pou reyalize gwo paralelis nan travay san yo pa itilize yon pèseptè fatra ak .
Jesyon otomatik memwa Rust a elimine erè lè w ap manipile endikasyon ak pwoteje kont pwoblèm ki rive nan manipilasyon memwa ki ba, tankou aksè nan yon rejyon memwa apre li fin libere, dereferans pointeur nil, depase tanpon, elatriye. Yon manadjè pake ap devlope pou distribye bibliyotèk, asire asanble ak jere depandans pa pwojè a. , ki pèmèt ou jwenn bibliyotèk ki nesesè pou pwogram nan nan yon sèl klike sou. Yon depo sipòte pou òganize bibliyotèk .
Nan tèks la nan anons la nan nouvo lage a, devlopè yo Rust te patisipe nan politik epi yo te refize pibliye yon revizyon konplè sou chanjman yo nan Rust 1.44 kòm yon siy solidarite ak manifestan kont vyolans lapolis, ki endike ke pwoblèm sa a pi enpòtan. pase echanj konesans teknik. Debaz :
- Manadjè pake kago a entegre kòmandman "pye bwa kago", ki montre yon graf depandans tankou pye bwa. Opsyon "âduplicates" ("cargo tree -d") te ajoute tou, ki pèmèt ou evalye depandans nan diferan vèsyon menm pake a.
mdbook v0.3.2 (/Users/src/rust/mdbook)
âââ amonyak 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
â â â [depandans-konstriksyon] â â â âââ version_check v0.1.5
... - Pou aplikasyon ki pa mare nan yon std ("#![no_std]"), sipò pou teknik pwogram asynchrone ki baze sou fonksyon "async", blòk mouvman async { ... } ak operatè ".await" la te aplike, ki fè li pi fasil yo ekri moun kap okipe yo ki pa bloke koule kòmand prensipal.
- Yo te ajoute sipò pou yon konplo definisyon yerachi modil ekstansib nan analizeur la. Pou egzanp, konstriksyon sa a pa pral pwodui yon erè, malgre absans aktyèl la nan modil "foo/bar/baz.rs" (konstriksyon an se toujou semantik envalid epi li ka lakòz yon erè, men chanjman yo ka wè ak analize nan nivo konpilasyon macro ak kondisyonèl):
#[cfg(FO)] mod foo {
mod bar {
mod baz;
}
} - Konpilateur rustc la te ajoute kapasite pou itilize drapo "-C codegen-units" nan mòd incrÊmentielle. Yo te retravay aplikasyon catch_unwind pou li pa gen okenn enpak sou pèfòmans si pwosesis dewoulman an enfim epi pa gen okenn eksepsyon yo jete.
- Yo bay sipò Nivo 64 pou platfòm aarch64-unknown-none, aarch64-unknown-none-softfloat, arm86-apple-tvos ak x64_XNUMX-apple-tvos. Twazyèm nivo a enplike sipò debaz, men san tès otomatik ak piblikasyon bati ofisyèl yo.
- Yon nouvo pòsyon API yo te transfere nan kategori ki estab, ki gen ladan estabilize
PathBuf::with_capacity,
PathBuf::kapasite,
PathBuf::clear,
PathBuf::rezèv,
PathBuf::reserve_exact,
PathBuf::shrink_to_fit,
{f32|f64}::to_int_unchecked,
Layout::align_to,
Layout::pad_to_align,
Layout::etalaj ak
Layout::pwolonje. - Fonksyon pwolonje nan bibliyotèk estanda a:
- Te ajoute yon varyant espesyal "vec![]" ki dirèkteman reflete nan Vec::new(), ki pèmèt "vec![]" yo dwe itilize nan kontèks olye pou yo konstan.
- Yo te ajoute yon aplikasyon (impl) nan karakteristik nan konvèti::Infallible .
- OsString aplike endikasyon entelijan и , retounen "&mut OsStr".
- Te ajoute sipò pou Unicode 13.
- Aplike nan String .
- IoSlice aplike karakteristik la .
- Vec aplike Soti nan<[T; N]>.
- proc_macro::LexError aplike fmt::Display ak Erè.
- Atribi "const", ki detèmine si li ka itilize nan nenpòt kontèks olye pou yo konstan, yo itilize nan metòd from_le_bytes, to_le_bytes, from_be_bytes, to_be_bytes, from_ne_bytes ak to_ne_bytes pou tout kalite nonb antye.
- Te ajoute sipò pou jenere bibliyotèk estatik nan fòma ".a" olye de ".lib" pou platfòm GNU sou Windows.
- Kondisyon minimòm pou LLVM yo te ogmante nan LLVM vèsyon 8.
Sous: opennet.ru
