Harshen shirye-shiryen tsatsa 1.68

An buga yaren shirye-shirye na Rust 1.68 na gabaɗaya, wanda aikin Mozilla ya kafa, amma yanzu an haɓaka shi a ƙarƙashin inuwar wata kungiya mai zaman kanta mai zaman kanta ta Rust Foundation. Harshen yana mai da hankali kan amincin ƙwaƙwalwar ajiya kuma yana ba da hanyoyin cimma babban daidaiton aiki yayin guje wa yin amfani da mai tara shara da lokacin aiki (an rage lokacin aiki zuwa farawa na asali da kiyaye daidaitaccen ɗakin karatu).

Hanyoyin sarrafa ƙwaƙwalwar Rust suna ceton mai haɓakawa daga kurakurai yayin sarrafa masu nuni da kuma kariya daga matsalolin da suka taso saboda ƙarancin kulawar ƙwaƙwalwar ajiya, kamar samun damar wurin ƙwaƙwalwar ajiya bayan an 'yantar da shi, cire maƙasudin null, buffer overruns, da dai sauransu. Don rarraba ɗakunan karatu, samar da gini da sarrafa abubuwan dogaro, aikin yana haɓaka manajan fakitin Kaya. Ana tallafawa ma'ajiyar crates.io don ɗaukar ɗakunan karatu.

Ana ba da amincin ƙwaƙwalwar ajiya a cikin Tsatsa a lokacin tattarawa ta hanyar duba tunani, kiyaye bin diddigin mallakar abu, kiyaye tsawon rayuwa (masu iyawa), da tantance daidaiton damar ƙwaƙwalwar ajiya yayin aiwatar da lambar. Tsatsa kuma yana ba da kariya daga ambaliya mai lamba, yana buƙatar ƙaddamar da ƙima mai mahimmanci kafin amfani, yana sarrafa kurakurai mafi kyau a cikin daidaitaccen ɗakin karatu, yana amfani da ra'ayi na nassoshi marasa canzawa da masu canji ta tsohuwa, yana ba da buga rubutu mai ƙarfi don rage kurakurai masu ma'ana.

Manyan sabbin abubuwa:

  • Manajan fakitin Cargo da ma'ajiyar crates.io sun daidaita goyon baya ga ka'idar Sparse, wanda ke bayyana sabuwar hanyar aiki tare da fihirisar da ke nuna nau'ikan fakitin da ke akwai a cikin ma'ajiyar. Sabuwar yarjejeniya tana ba ku damar haɓaka saurin aiki tare da crates.io da magance matsalolin ƙira tare da ƙarin haɓaka a cikin adadin fakiti a cikin ma'ajiyar.

    Don rage jinkirin da aka samu ta hanyar zazzage cikakken fihirisar, Sparse maimakon samun damar yin amfani da fihirisar ta amfani da Git ya haɗa da zazzagewa kai tsaye akan HTTPS kawai bayanan fihirisar da ake buƙata, yana rufe abubuwan dogaro na wani aikin. Ana amfani da sabon sabis, index.crates.io, don samar da bayanan fihirisa. Ta hanyar tsoho, ana shirin amfani da sabuwar yarjejeniya a reshen Rust 1.70, kuma kafin hakan, don kunna ta, zaku iya saita madaidaicin yanayi "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse" ko ƙara ma'aunin 'protocol =' a cikin "[rejitoci. crates-io]" sashe na .cargo/config.toml fayil 'sparse'.

  • Ƙara macro na "pin!", wanda ke ba ka damar ƙirƙirar Pin<& mut T> tsarin daga furcin "T" tare da ƙaddamarwa na gida na jiharsa (ba kamar Akwatin :: fil ba, baya rarraba ƙwaƙwalwar ajiya a kan tarin, amma yana ɗaure. a cikin daraja).
  • An ba da shawarar mai kula da kuskuren rarraba ƙwaƙwalwar ajiya, wanda aka yi amfani dashi lokacin amfani da daidaitaccen fakitin alloc. Aikace-aikacen da ke ba da damar alloc kawai (ba tare da std) yanzu za su kira mai kula da "firgita!" lokacin da rarraba ƙwaƙwalwar ajiya ta kasa, wanda za a iya kama shi ta hanyar amfani da "#[panic_handler]". Shirye-shiryen da ke amfani da ɗakin karatu na std za su ci gaba da buga bayanan kuskure zuwa stderr da karo.
  • An koma wani sabon yanki na API zuwa nau'in barga, gami da hanyoyin da aiwatar da halaye an daidaita su:
    • {core,std}:: fil:: pin!
    • impl Daga don {f32,f64}
    • std::hanya::MAIN_SEPARATOR_STR
    • impl DerefMut don PathBuf
  • Halin "const", wanda ke ƙayyade yiwuwar amfani da shi a cikin kowane mahallin maimakon akai-akai, ana amfani da shi a cikin VecDeque :: sabon aiki.
  • Don aiki akan dandamalin Android, aƙalla NDK r25 (API 19) ana buƙatar yanzu, watau. An ɗaga mafi ƙarancin sigar Android mai tallafi zuwa 4.4 (KitKat).
  • An aiwatar da matakin tallafi na uku don dandalin Sony PlayStation Vita (armv7-sony-vita-newlibeabihf). 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