Harshen shirye-shiryen tsatsa 1.55

An buga yaren shirye-shiryen tsarin Rust 1.55, wanda aikin Mozilla ya kafa, amma yanzu an haɓaka shi a ƙarƙashin inuwar ƙungiyar mai zaman kanta mai zaman kanta ta Rust Foundation. Harshen yana mai da hankali kan amincin ƙwaƙwalwar ajiya, yana ba da sarrafa ƙwaƙwalwar ajiya ta atomatik, kuma yana ba da hanyoyin samun daidaiton ɗawainiya mai girma ba tare da amfani da mai tara shara ko lokacin aiki ba (an rage lokacin aiki zuwa farawa na asali da kiyaye daidaitaccen ɗakin karatu).

Gudanar da ƙwaƙwalwar ajiya ta atomatik na Rust yana kawar da kurakurai yayin sarrafa masu nuni kuma yana ba da kariya daga matsalolin da suka taso daga ƙananan ƙananan ƙwaƙwalwar ajiya, kamar shiga yankin ƙwaƙwalwar ajiya bayan an 'yantar da shi, ɓangarorin null pointer, buffer overruns, da dai sauransu. Don rarraba ɗakunan karatu, tabbatar da taro da sarrafa abubuwan dogaro, aikin yana haɓaka manajan fakitin Cargo. Ana tallafawa ma'ajiyar crates.io don ɗaukar ɗakunan karatu.

Manyan sabbin abubuwa:

  • Manajan fakitin Cargo yana da ikon haɗa kurakurai da gargaɗin da ke faruwa yayin gini. Lokacin aiwatar da umarni kamar "gwajin kaya" da "cakin kaya --all-targets" waɗanda ke haifar da ginawa da yawa na kunshin tare da sigogi daban-daban, yanzu ana nuna mai amfani da taƙaitaccen abin da ya faru na maimaita matsala, maimakon a nuna shi. faɗakarwa iri ɗaya da yawa lokacin gina abu iri ɗaya akai-akai. $ kaya +1.55.0 dubawa —duk-manufa Duba foo v0.1.0 gargadi: aiki ba a taba amfani: 'foo' —> src/lib.rs:9:4 | 9 | fn foo() {} | ^^^ | = bayanin kula: '#[gargadi (dead_code)]' ta hanyar gargaɗin tsoho: 'foo' (lib) ya haifar da gargaɗin gargaɗi 1: 'foo' (gwajin lib) ya haifar da gargaɗin 1 (kwafin 1) Ƙarshe dev [ba a inganta + debuginfo] manufa (s) cikin 0.84s
  • An matsar da lambar fassarori masu iyo a cikin daidaitaccen ɗakin karatu don amfani da sauri kuma mafi inganci Eisel-Lemire algorithm, wanda ya warware wasu matsalolin da aka lura da su a baya tare da zagayawa da lambobi tare da lambobi masu yawa.
  • An daidaita ikon tantance jeri da ba a rufe a cikin samfuri ("X.." ana fassara shi azaman kewayon da ke farawa da ƙimar X kuma ya ƙare tare da matsakaicin ƙimar nau'in lamba): daidaita x as u32 { 0 => println! ("sifili!"), 1.. => println!("tabbatacciyar lamba!"), }
  • Fadada bambance-bambancen kuskure da std :: io :: ErrorKind ke rufewa (yana rarraba kurakurai zuwa nau'ikan kamar NotFound da WouldBlock). A baya, kurakurai waɗanda basu dace da nau'ikan da ke akwai sun faɗi cikin ErrorKind :: Wani nau'in, wanda kuma aka yi amfani da shi don kurakurai a lambar ɓangare na uku. Yanzu akwai keɓan nau'in na ciki ErrorKind :: Uncategorized don kurakurai waɗanda ba su dace da nau'ikan da ke akwai ba, kuma KuskurenKind :: Wani nau'in yana iyakance ga kurakurai waɗanda ba sa faruwa a cikin daidaitaccen ɗakin karatu (ayyukan ɗakin karatu na yau da kullun waɗanda ke dawo da io :: Kuskure daina amfani da ErrorKind :: category Other).
  • An koma wani sabon yanki na API zuwa nau'in barga, gami da hanyoyin da aiwatar da halaye an daidaita su:
    • Daure :: cloned
    • Ruwa :: as_str
    • Kuskuren Cikin Ciki :: shiga_kuskure
    • Kuskuren Cikin Ciki :: cikin_ɓangarorin
    • Wataƙila Uninit :: zato_init_mut
    • Wataƙila Uninit :: ɗauka_init_ref
    • Wataƙila Uninit :: rubuta
    • tsara:: map
    • ops :: ControlFlow
    • x86:: _baki
    • x86::
    • x86:: _bittestandreset
    • x86::
    • x86_64:: _bittest64
    • x86_64::
    • x86_64:: _bittestandreset64
    • x86_64:: _bittestandset64
  • Siffar “const”, wacce ke ƙayyade yuwuwar amfani da ita a kowane mahallin maimakon madaidaicin, ana amfani da ita a cikin hanyar str :: from_utf8_unchecked.
  • An aiwatar da matakin tallafi na uku don dandalin powerpc64le-unknown-freebsd. Mataki na uku ya ƙunshi tallafi na asali, amma ba tare da gwaji ta atomatik ba, buga ginin hukuma, ko duba ko za a iya gina lambar.

source: budenet.ru

Add a comment