Puo ea Rust programming 1.55 tokollo

Ho lokolloa ha puo ea lenaneo la tsamaiso Rust 1.55, e thehiloeng ke morero oa Mozilla, empa hona joale e ntlafalitsoe ka tlas'a ts'ebetso ea mokhatlo o ikemetseng o sa etseng phaello Rust Foundation, e hatisitsoe. Puo e tsepamisitse maikutlo holim'a ts'ireletso ea mohopolo, e fana ka taolo ea memori ea othomathike, 'me e fana ka mekhoa ea ho fihlela ts'ebetso e phahameng ea ts'ebetso ntle le ho sebelisa pokello ea lithōle kapa nako ea ho sebetsa (nako ea ho sebetsa e fokotsehile ho qala le ho boloka laebrari e tloaelehileng).

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. Ho aba lilaebrari, ho etsa bonnete ba ho kopanya le ho laola ba itšetlehileng ka bona, morero o nts'etsapele mookameli oa thepa ea thepa. Sebaka sa polokelo ea crates.io se tšehetsoa bakeng sa lilaebrari tse amohelang batho.

Litlhahiso tse ka sehloohong:

  • Motsamaisi oa sephutheloana sa Cargo o na le bokhoni ba ho kopanya liphoso le litemoso tse hlahang nakong ea kaho. Ha o etsa litaelo tse joalo ka "cargo test" le "cargo check --all-targets" tse hlahisang mefuta e mengata ea liphutheloana tse nang le li-parameter tse fapaneng, joale mosebelisi o bontšoa kakaretso ea ho hlaha ha bothata bo iphetang, ho e-na le ho bontšoa. litemoso tse ts'oanang tse ngata ha ho etsoa ntho e le 'ngoe khafetsa. $ cargo +1.55.0 hlahloba -lipheo-tsohle Ho hlahloba foo v0.1.0 temoso: mosebetsi ha o so sebelisoe: 'foo' —> src/lib.rs:9:4 | 9 | fn foo() {} | ^^^ | = hlokomela: '#[hlokolosi(dead_code)]' ka temoso ea kamehla: 'foo' (lib) e hlahisitse temoso e le 'ngoe ea temoso: 'foo' (lib test) e hlahisitse temoso e le 'ngoe (kopi e le 'ngoe) E felile dev [unoptimized + debuginfo] target (s) ho 1s
  • Khoutu ea lintlha tse phaphametseng ka har'a laeborari e tloaelehileng e se e tlositsoe ho sebelisa algorithm e potlakileng le e nepahetseng haholoanyane ea Eisel-Lemire, e rarollotseng mathata a neng a kile a bonoa ka ho potoloha le ho arola linomoro tse nang le linomoro tse ngata haholo.
  • Bokhoni ba ho hlakisa mefuta e sa koaloang ea li-templates bo tsitsitse ("X.." e hlalosoa e le mefuta e qalang ka boleng X 'me e qetella ka boleng bo phahameng ba mofuta o feletseng): match x e le u32 {0 => println! (“lefela!”), 1.. => println!("nomoro e ntle!"), }
  • Liphoso tse atolositsoeng tse koahetsoeng ke std::io::ErrorKind (e arola liphoso ka lihlopha tse kang NotFound le WouldBlock). Nakong e fetileng, liphoso tse neng li sa kenelle mekhahlelong e neng e le teng li ile tsa oela sehlopheng sa ErrorKind::E 'ngoe, e neng e sebelisetsoa liphoso tsa batho ba bang. Hona joale ho na le karolo e arohaneng ea ka hare ea ErrorKind::Ha e arotsoe bakeng sa liphoso tse sa keneleng mekhahlelong e teng, le ErrorKind::Mokhahlelo o mong o lekanyelitsoe liphosong tse sa etsahaleng laeboraring e tloaelehileng (mesebetsi e tloaelehileng ea laeborari e khutlisang io::Phoso. ha u sa sebelisa ErrorKind:: sehlopha sa Tse ling).
  • Karolo e ncha ea API e fetiselitsoe sehlopheng sa ba tsitsitseng, ho kenyelletsa le mekhoa le ts'ebetsong ea mekhoa e tsitsitseng:
    • E tlamiloe:: e entsoe
    • Hlakola:: joalo ka_str
    • IntoInnerError::into_error
    • IntoInnerError::karohano_ka likarolo
    • MohlomongUninit::assume_init_mut
    • MohlomongUninit:: nka_init_ref
    • MohlomongUninit::ngola
    • sehlopha::mapa
    • ops:: ControlFlow
    • x86::_bonyane
    • x86::_bittestandcomplement
    • x86::_bittestandreset
    • x86::_bittestandset
    • x86_64::_bittest64
    • x86_64::_bittestandcomplement64
    • x86_64::_bittestandreset64
    • x86_64::_bittestandset64
  • Sebopeho sa "const", se khethollang monyetla oa ho se sebelisa moelelong ofe kapa ofe ho e-na le li-constants, se sebelisoa ka mokhoa oa str::from_utf8_unchecked.
  • Boemo ba boraro ba tšehetso bo kentsoe tšebetsong bakeng sa sethala sa powerpc64le-unknown-freebsd. Boemo ba boraro bo kenyelletsa ts'ehetso ea mantlha, empa ntle le tlhahlobo ea boiketsetso, meaho ea semmuso ea phatlalatso, kapa ho hlahloba hore na khoutu e ka hahuoa.

Source: opennet.ru

Eketsa ka tlhaloso