Rust 1.52 Chirongwa Mutauro Kuburitswa

Kuburitswa kweiyo system programming mutauro Rust 1.52, yakavambwa neMozilla purojekiti, asi iko zvino yakagadziridzwa pasi pekutsigirwa kwesangano rakazvimirira rerust Foundation, raburitswa. Mutauro unotarisana nekuchengetedza ndangariro, unopa otomatiki ndangariro manejimendi, uye inopa nzira dzekuwana yakakwira basa parallelism pasina kushandisa muunganidzi wemarara kana nguva yekumhanya (nguva yekumhanya inoderedzwa kuita yekutanga yekutanga uye kugadzirisa raibhurari yakajairwa).

Rust's otomatiki ndangariro manejimendi inobvisa zvikanganiso kana ichishandisa anongedza uye inodzivirira kubva kune yakaderera-level memory manipulation, sekuwana nzvimbo yekurangarira mushure mekunge yasunungurwa, null pointer dereferences, buffer overruns, nezvimwe. Kugovera maraibhurari, kuve nechokwadi kuungana uye kugadzirisa zvinotsamira, chirongwa ichi chiri kugadzira Cargo package maneja. Iyo crates.io repository inotsigirwa kuitisa maraibhurari.

Zvitsva zvikuru:

  • Yakabviswa inosunga kune iyo hurongwa hwekuitwa kwe "cargo check" uye "cargo clippy" mirairo. Pakutanga, kudana "cargo clippy" mushure me "cargo check" haina kuvhura clippy utility (linter) nekuda kwekushaikwa kwekuparadzaniswa kwecache kune aya macheki modes. Iye zvino dambudziko iri rakagadziriswa uye kurongeka uko "cargo clippy" uye "cargo check" inonzi haisisiri nyaya.
  • Chikamu chitsva cheAPI chakaendeswa kune yakagadzikana chikamu, kusanganisira nzira dzinotevera dzakadzikamiswa:
    • Nharo::as_str
    • char::MAX
    • Char::REPLACEMENT_CHARACTER
    • char::UNICODE_VERSION
    • char::decode_utf16
    • char::kubva_digit
    • char::from_u32_unchecked
    • char::from_u32
    • slice ::partition_point
    • str::rsplit_kamwe
    • str::kupatsanura_kamwe
  • Iyo "const" hunhu, iyo inosarudza mukana wekuishandisa mune chero mamiriro pachinzvimbo chekugara, inoshandiswa munzira idzi:
    • char::len_utf8
    • char::len_utf16
    • char::to_ascii_uppercase
    • char::ku_ascii_lowercase
    • char::eq_ignore_ascii_case
    • u8::ku_ascii_uppercase
    • u8::ku_ascii_lowercase
    • u8::eq_ignore_ascii_case
  • Yakawedzerwa lint tarisa unsafe_op_in_unsafe_fn kuona kana kodhi isina kuchengetedzeka inoshandiswa mumabasa asina kuchengetedzeka yakaumbwa nemabhuroko asina kuchengetedzeka.
  • Inotenderwa kukanda zvinochinjika zvinongedzo kune arrays muchimiro cheanongedza kurudzi rweiyo array element. let mut x: [shandisa; 2] = [0, 0]; rega p = &mut x se *mut shandisa; rega p = &mut x se *const usize;
  • 9 macheki matsva akawedzerwa kune clippy (linter).
  • Iyo cargo package maneja inotsigira iyo "manifest_path" munda muJSON yemapakeji. Yakawedzerwa rutsigiro rwekutsanangura ruzivo rwerezinesi muSPDX 3.11 fomati kune crates.io repository.
  • Inotenderwa kudoma akawanda mafirita paunenge uchimhanyisa bvunzo, semuenzaniso kumhanya "cargo bvunzo - foo bar" inomhanyisa bvunzo dzese dzinoenderana nemasiki "foo" uye "bar".
  • Iyo yakasarudzika LLVM toolkit yakagadziridzwa kuLLVM 12.
  • Nhanho yechitatu yerutsigiro yakashandiswa kune s390x-isingazivikanwe-linux-musl, riscv32gc-isingazivikanwe-linux-musl, riscv64gc-isingazivikanwe-linux-musl uye powerpc-isingazivikanwe-openbsd mapuratifomu. Chikamu chechitatu chinosanganisira rutsigiro rwekutanga, asi pasina otomatiki kuyedzwa, kushambadza official kuvaka, kana kutarisa kuti kodhi inogona kuvakwa.

Source: opennet.ru

Voeg