Harshen shirye-shiryen tsatsa 1.52

An buga yaren shirye-shiryen tsarin Rust 1.52, 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:

  • An cire ɗaurin zuwa odar aiwatar da umarnin "cakin kaya" da "kayan ƙulla". A baya can, kiran "kaya clippy" bayan "cakin kaya" bai ƙaddamar da kayan aikin clippy (linter) ba saboda rashin rabuwar cache don waɗannan hanyoyin duba. Yanzu an warware wannan matsala kuma tsarin da ake kira "cakulan kaya" da "cakin kaya" ba shi da wani abu.
  • An canza wani sabon yanki na API zuwa ga tsayayyen nau'in, gami da waɗannan hanyoyin an daidaita su:
    • Hujja :: as_str
    • kar: MAX
    • char :: SAUYA_CHARACTER
    • char :: UNICODE_VERSION
    • char :: decode_utf16
    • char ::daga_digit
    • char :: daga_u32_ba a tantance ba
    • char::daga_u32
    • yanki :: partition_point
    • str ::rsplit_sau ɗaya
    • str :: raba_sau ɗaya
  • Ana amfani da sifa na "const", wanda ke ƙayyade yiwuwar amfani da shi a cikin kowane mahallin maimakon akai-akai, a cikin hanyoyin:
    • char:: len_utf8
    • char:: len_utf16
    • Char :: to_ascii_babba
    • Char :: to_ascii_lowercase
    • char :: eq_ignore_ascii_case
    • u8::zuwa_ascii_babba
    • u8 ::zuwa_ascii_lowercase
    • u8 :: eq_ignore_ascii_case
  • Ƙara lint duba unsafe_op_in_unsafe_fn don tantance ko lambar mara aminci da aka yi amfani da ita a cikin ayyuka marasa aminci an tsara ta ta ɓangarori marasa aminci.
  • An ba da izini don jefa masu nuni zuwa jeri-jeri cikin sifar masu nuni zuwa nau'in rukunin tsararru. bari mut x: [amfani; 2] = [0, 0]; bari p = & mut x kamar yadda * mut amfani; bari p = & mut x kamar yadda * const amfani;
  • Sabbin cak guda 9 an ƙara su zuwa clippy (linter).
  • Manajan fakitin kaya yanzu yana goyan bayan filin "manifest_path" a cikin JSON don fakiti. Ƙara goyon baya don ƙayyadaddun bayanan lasisi a tsarin SPDX 3.11 zuwa ma'ajiyar crates.io.
  • An ba da izinin ƙididdige masu tacewa da yawa lokacin gudanar da gwaje-gwaje, misali gudu "gwajin kaya - foo bar" zai gudanar da duk gwaje-gwajen da suka dace da mashin "foo" da "bar".
  • An sabunta tsoffin kayan aikin LLVM zuwa LLVM 12.
  • An aiwatar da matakin tallafi na uku don s390x-unknown-linux-musl, riscv32gc-unknown-linux-musl, riscv64gc-unknown-linux-musl da powerpc-unknown-openbsd dandamali. 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