Harshen shirye-shiryen tsatsa 1.67

An buga yaren shirye-shirye na Rust 1.67 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:

  • Don ayyukan async tare da Future :: Output, yanzu yana yiwuwa a ƙayyade bayanan "#[must_use]" waɗanda suka haɗa da gargadi idan an yi watsi da ƙimar dawowa, wanda ke taimakawa wajen gano kurakuran da aka samu ta hanyar zaton cewa aikin zai canza dabi'u. maimakon mayar da sabon darajar. #[dole_use] async fn mashaya () -> u32 {0 } async fn caller() {bar().jira; ▣ gargadi: abubuwan da ba a yi amfani da su ba na gaba da 'bar' ya dawo wanda dole ne a yi amfani da shi —> src/lib.rs:5:5 | 5 | bar() jira; | ^^^^^^^^^^ | = bayanin kula: `#[gargadi (ba a yi amfani da_must_use)]' ta tsohuwa
  • An sabunta aiwatar da jerin layi na FIFO std :: daidaitawa :: mpsc (mai yawan samarwa guda-mabukaci) wanda aka canza zuwa amfani da tsarin tashoshi na crossbeam yayin kiyaye API na baya. An bambanta sabon aiwatarwa ta hanyar warware matsaloli da yawa, mafi girman aiki da kuma sauƙaƙe lambar kiyayewa.
  • An koma wani sabon yanki na API zuwa nau'in barga, gami da hanyoyin da aiwatar da halaye an daidaita su:
    • {integer} :: checked_ilog
    • {integer} :: duba_ilog2
    • {integer} :: duba_ilog10
    • {integer} :: ilog
    • {integer} :: ilog2
    • {integer} :: ilog10
    • NonZeroU*:: ilog2
    • NonZeroU*:: ilog10
    • NonZero*:: BITS
  • Ana amfani da sifa na "const", wanda ke ƙayyade yiwuwar amfani da shi a cikin kowane mahallin maimakon akai-akai, a cikin ayyuka:
    • char::daga_u32
    • char ::daga_digit
    • char ::zuwa_lambobi
    • core::char::daga_u32
    • core :: char :: daga_lambar
  • An aiwatar da matakin tallafi na uku don amfani da Rust a cikin Linux kernel (linuxkernel), da kuma na Sony PlayStation 1 (mipsel-sony-psx), PowerPC tare da AIX (powerpc64-ibm-aix), QNX Neutrino RTOS ( aarch64-unknown-to-) dandamali qnx710, x86_64-pc-to-qnx710). 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.

Bugu da ƙari, za mu iya lura da bugu na ARM na faci waɗanda ke ba da damar amfani da harshen Rust don haɓaka direbobi da na'urorin kwaya na Linux waɗanda aka haɗa don tsarin dangane da gine-ginen AArch64.

source: budenet.ru

Add a comment