e hatisitsoeng tokollo ea puo ea lenaneo la sistimi Mafome 1.44, e thehiloeng ke morero oa Mozilla. Puo e shebana le polokeho ea mohopolo, e fana ka taolo ea memori ea othomathike, hape e fana ka lisebelisoa tsa ho fihlela ts'ebetso e phahameng ea ts'ebetso ntle le ho sebelisa pokello ea lithōle le nako ea nako.
Taolo ea memori ea othomathike ea Rust e felisa liphoso ha e tsamaisa lintlha le ho sireletsa khahlanong le mathata a bakoang ke ho qhekella ha memori ea boemo bo tlase, joalo ka ho fihlella sebaka sa memori kamora hore e lokolloe, li-null pointer dereferences, buffer overruns, jj. Motsamaisi oa liphutheloana o ntse a ntlafatsoa ho aba lilaebrari, ho netefatsa ho bokelloa le ho laola litšepe ka morero. thepa, ho u lumella ho fumana lilaebrari tse hlokahalang bakeng sa lenaneo ka ho tobetsa hanngoe feela. Sebaka sa polokelo se tšehetsoa ho amohela lilaebrari crates.io.
Lengolong la phatlalatso ea tokollo e ncha, baetsi ba Rust ba ile ba kenella lipolotiking 'me ba hana ka ho hlaka ho phatlalatsa tlhahlobo e feletseng ea liphetoho tsa Rust 1.44 e le pontšo ea bonngoe le baipelaetsi khahlanong le pefo ea mapolesa, e bontšang hore taba ena ke ea bohlokoa haholo. hofeta phapanyetsano ya tsebo ya botekgeniki. Motheo boiqapelo:
Motsamaisi oa sephutheloana sa Cargo o kopanya taelo ea "cargo tree", e bonts'ang kerafo e ts'oanang ea ho itšetleha ka sefate. Hape ke khetho ea "-duplicates" ("cargo tree -d"), e leng se u lumellang hore u hlahlobe ho itšetleha ka mefuta e fapaneng ea sephutheloana se le seng.
Bakeng sa lits'ebetso tse sa tlamelletsoeng ho std ("#![no_std]"), ts'ehetso bakeng sa mekhoa ea mananeo a asynchronous e kengoa ts'ebetsong ho ipapisitse le "async" tšebetso, async move { ... } block le ".await" opareitara, eo nolofatsa ho ngola li-non-blockers tse tsamaisang taelo e kholo.
Tšehetso bakeng sa sekema sa tlhaloso ea maemo a phahameng a mojule e kentsoe ho mohlahlobi. Mohlala, moaho o latelang o ke ke oa hlahisa phoso, leha ho se na mojule "foo/bar/baz.rs" (mohaho o ntse o sa sebetse hantle mme o ka baka phoso, empa liphetoho li ka bonoa le ho aroloa ho boemo ba ho bokella boholo le maemo):
#[cfg(FALSE)] mod foo {
mod bar {
mod baz;
}
}
Rustc compiler e ekelitse bokhoni ba ho sebelisa folakha ea "-C codegen-units" ka mokhoa o ntseng o eketseha. Ho kenngwa tshebetsong ha catch_unwind ho hlahlobilwe hape e le hore ho se be le kgahlamelo ya tshebetso haeba tshebetso ya ho phutholla e timilwe mme ha ho mekgelo e bang teng.
Tšehetso ea boemo ba 64 e fanoe bakeng sa liforomo tsa aarch64-tse sa tsejoeng-ha ho letho, aarch64-tse sa tsejoeng-none-softfloat, arm86-apple-tvos le x64_XNUMX-apple-tvos platforms. Boemo ba boraro bo kenyelletsa tšehetso ea mantlha, empa ntle le tlhahlobo e ikemetseng le phatlalatso ea meaho ea semmuso.
Karolo e ncha ea API e fetiselitsoe sehlopheng se tsitsitseng, ho kenyelletsa le ho tsitsisoa
PathBuf::ka_bokhoni,
PathBuf:: bokhoni,
PathBuf :: hlakile,
PathBuf:: boloka,
PathBuf:: boloka_hantle,
PathBuf::honyela_ho_ho lekana,
{f32|f64}::ho_int_unchecked,
Sebopeho::align_to,
Sebopeho::pad_to_align,
Sebopeho::ramo le
Sebopeho:: atolosa.
Mesebetsi e atolositsoeng ea laeborari e tloaelehileng:
E kentse mofuta o ikhethileng oa "vec![]" o hlahang ka kotloloho ho Vec::new(), e lumellang "vec![]" ho sebelisoa moelelong ho fapana le li-constants.
Kenyelletso (impl) ea tšobotsi e kenyellelitsoeng ho fetolela::Infallible Hash.
OsString e sebelisa lisupa tse bohlale DerefMut и IndexMut, e khutlisetsang "&mut OsStr".
proc_macro::LexError e sebelisa fmt:: Pontšo le Phoso.
Tšobotsi ea "const", e etsang qeto ea hore na e ka sebelisoa moelelong ofe kapa ofe ho e-na le li-constants, e sebelisoa ho tloha ho_le_bytes, ho_le_bytes, ho tloha_be_bytes, ho_be_bytes, ho tloha_ne_bytes le ho_ne_bytes mekhoa bakeng sa mefuta eohle ea linomoro.
Tšehetso e ekelitsoeng bakeng sa ho hlahisa lilaebrari tse tsitsitseng ka ".a" format ho e-na le ".lib" bakeng sa liforomo tsa GNU Windows.
Litlhoko tse tlase tsa LLVM li phahamisitsoe ho mofuta oa 8 oa LLVM.