Rust 1.52 Ukukhishwa Kolimi Lokuhlela

Ukukhululwa kolimi lwezinhlelo zesistimu i-Rust 1.52, eyasungulwa iphrojekthi ye-Mozilla, kodwa manje ethuthukiswe ngaphansi kwenhlangano ezimele engenzi nzuzo i-Rust Foundation, kushicilelwe. Ulimi lugxile ekuphepheni kwenkumbulo, luhlinzeka ngokuphathwa kwenkumbulo okuzenzakalelayo, futhi lunikeza izindlela zokufinyelela ukufana kwemisebenzi ephezulu ngaphandle kokusebenzisa umqoqi wezibi noma isikhathi sokusebenza (isikhathi sokusebenza sincishiselwa ekuqaliseni okuyisisekelo nasekunakekeleni umtapo wolwazi ojwayelekile).

Ukuphathwa kwenkumbulo okuzenzakalelayo kwe-Rust kusindisa unjiniyela emaphutheni lapho eshintsha izikhombi futhi ivikela ezinkingeni eziphakama ngenxa yokukhohlisa inkumbulo yezinga eliphansi, njengokufinyelela indawo yenkumbulo ngemva kokuba ikhululiwe, ukususa ireferensi izikhombi ezingenalutho, ukugcwala kwebhafa, njll. Ukuze kusatshalaliswe imitapo yolwazi, ukuhlinzeka ngokwakha nokuphatha okuncikile, iphrojekthi ithuthukisa umphathi wephakheji ye-Cargo. Inqolobane ye-crates.io isekelwe ekusingatheni imitapo yolwazi.

Okuqanjiwe okuyinhloko:

  • Kukhishwe ukubophezela ku-oda lokusetshenziswa "kokuhlola impahla" kanye nemiyalo "ye-cargo clippy". Ngaphambilini, ukubiza "i-cargo clippy" ngemuva kokuthi "isheke lempahla" akuzange kuqalise insiza yokunamathisela (i-linter) ngenxa yokuntuleka kokuhlukaniswa kwenqolobane yalezi zindlela zokuhlola. Manje le nkinga isixazululiwe futhi ukuhleleka okubizwa ngokuthi "i-cargo clippy" kanye "nokuhlolwa kwempahla" akusabalulekile.
  • Ingxenye entsha ye-API idluliselwe esigabeni esizinzile, okuhlanganisa izindlela ezilandelayo ezizinzile:
    • Izimpikiswano::as_str
    • igama::MAX
    • igama::REPLACEMENT_CHARACTER
    • char::UNICODE_VERSION
    • Char::decode_utf16
    • char::from_digit
    • char::from_u32_ayihloliwe
    • igama::kusuka_u32
    • ucezu::iphoyinti_lokwahlukanisa
    • str::rsplit_kanye
    • str::hlukanisa_kanye
  • Isibaluli esithi "const", esinquma ukuthi kungenzeka yini ukusisebenzisa kunoma yimuphi umongo esikhundleni sama-constants, sisetshenziswa ezindleleni:
    • igama::len_utf8
    • igama::len_utf16
    • Char::to_ascii_uppercase
    • Char::to_ascii_lowercase
    • char::eq_ignore_ascii_case
    • u8::to_ascii_omkhulu
    • u8::ku_ku-ascii_uhlamvu oluncane
    • u8::eq_ignore_ascii_case
  • Kwengezwe i-lint hlola u-unsafe_op_in_unsafe_fn ukuze kutholwe ukuthi ingabe ikhodi engaphephile esetshenziswa emisebenzini engaphephile ifreyimu ngamabhulokhi angaphephile.
  • Kuvunyelwe ukusakaza izikhombi eziguquguqukayo ukuze kuhlelwe ngendlela yezikhombisi ohlotsheni lwesici samalungu afanayo. let mut x: [sebenzisa; 2] = [0, 0]; let p = &mut x as *mut use; let p = &mut x as *const use;
  • Amasheke amasha angu-9 engeziwe ku-clippy (linter).
  • Umphathi wephakheji yempahla manje usekela inkambu ethi β€œmanifest_path” ku-JSON ngamaphakheji. Ukwesekwa okwengeziwe kokucacisa imininingwane yelayisensi ngefomethi ye-SPDX 3.11 endaweni yesikhombi se-crates.io.
  • Kuvunyelwe ukucacisa izihlungi eziningi lapho kuqaliswa izivivinyo, isibonelo ukusebenzisa "i-cargo test - foo bar" kuzosebenzisa zonke izivivinyo ezifana namamaski "foo" kanye "nebha".
  • Ikhithi yamathuluzi ezenzakalelayo ye-LLVM ibuyekezelwe ku-LLVM 12.
  • Izinga lesithathu lokusekelwa selisetshenziswe kuzingxenyekazi ze-s390x-unknown-linux-musl, riscv32gc-unknown-linux-musl, riscv64gc-unknown-linux-musl kanye ne-powerpc-unknown-openbsd platforms. Ileveli yesithathu ibandakanya ukwesekwa okuyisisekelo, kodwa ngaphandle kokuhlola okuzenzakalelayo, ukushicilela izakhiwo ezisemthethweni, noma ukuhlola ukuthi ikhodi ingakhiwa yini.

Source: opennet.ru

Engeza amazwana