Puo ea Rust programming 1.35 tokollo

etsahetse tokollo ea puo ea lenaneo la sistimi Mafome 1.35, e entsoeng ke morero oa Mozilla. Puo e shebana le polokeho ea mohopolo, e fana ka taolo ea memori ea othomathike, mme e fana ka mokhoa oa ho fihlela ts'ebetso e ts'oanang e phahameng ntle le ho sebelisa moqosi oa lithōle kapa nako ea ho sebetsa.

Taolo ea memori ea othomathike ea Rust e lokolla moqapi ho tsoa manolong a pointer le ho sireletsa khahlano le mathata a bakoang ke ho qhekella ha memori ea boemo bo tlase, joalo ka phihlello ea memori e sa lefelloeng, litšupiso tsa null pointer, buffer overruns, joalo-joalo. 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.

ka sehloohong boiqapelo:

  • Litšobotsi FnOnce, FnMut и Fn kenngwa tshebetsong bakeng sa qubu e abetsoeng mefuta ea mabokose Box‹dyn FnOnce›, Box‹dyn FnMut› and Box‹dyn Fn›;
  • E kentsoe monyetla ho koala lits'oants'o tse sa bolokehang tsa ts'ebetso (fn e sa bolokehang);
  • E kentse tšebetsong bokhoni ba ho bitsa macro "dbg!" ntle le likhang tsa ho bonts'a lebitso la faele le nomoro ea mohala ho stderr ntle le ho hlahloba phapang, e leng bonolo bakeng sa ho lokisa ts'ebetso ea mantsoe a nang le maemo;
  • Mokhoa o ekelitsoeng " mefuteng ea lintlha tse phaphametseng f32 le f64kopi»ho kopitsa tlhaku ho tloha nomorong e 'ngoe ho ea ho e' ngoe;
  • Mokhoa o ekelitsoeng "e na le", e u lumellang hore u hlahlobe hore na boleng bo boletsoeng bo ka har'a moeli;
  • Mokhoa o ekelitsoeng Ref:Cell:map_split, e u lumellang ho bonahatsa le ho arola boleng bo alimiloeng ba RefCell bakeng sa likarolo tse fapaneng tsa data e alimiloeng;
  • Mokhoa o ekelitsoeng RefCell::replace_with ho khutlisa boleng ba hona joale ba RefCell le ho khutlisa boleng ba khale joalo ka sephetho;
  • Mokhoa o ekelitsoeng pr::hashe ho hash pointer kapa reference ka aterese ho fapana le boleng bo boletsoeng;
  • Mokhoa o ekelitsoeng Khetho:: kopitsoa ho kopitsa likahare tsa Kgetho‹&T› kapa Kgetho‹&mut T› dikgetho;
  • Karolo e ncha ea API e fetiselitsoe sehlopheng se tsitsitseng, ho kenyelletsa le mekhoa e tsitsitseng
    f32:: letshwao la kopo,
    f64:: letshwao la kopo,
    RefCell:: nka sebaka_ka,
    RefCell::map_split,
    ptr::hash,
    Range::e na le,
    RangeFrom::e na le,
    RangeTo::e na le,
    RangeInclusive::e na le,
    RangeToInclusive::e na le le
    Khetho:: kopitsoa;

  • E kenyellelitse drop_bounds hlahloba ho clippy (linter), e hlahisoang ha u eketsa "T: Drop" e tlamang mosebetsing;
  • Moqapi o kentse tšehetso bakeng sa sethala se secha sa sepheo
    wasm32-unknown-wasi (interface WASI ho sebelisa WebAssembly ka ntle ho sebatli);

  • Rust toolkit e lokiselitsoe ho ajoa ho ipapisitsoe le laebrari e tloaelehileng ea C Musl.

Source: opennet.ru

Eketsa ka tlhaloso