Rust 1.43 Chirongwa Mutauro Kuburitswa

rakabudiswa system programming mutauro kuburitswa Ngura 1.43, yakatangwa neMozilla project. Mutauro unotarisana nekuchengetedza ndangariro, unopa otomatiki ndangariro manejimendi, uye inopa maturusi ekuwana yakakwira basa parallelism pasina kushandisa muunganidzi wemarara uye. runtimetime.

Rust's otomatiki ndangariro manejimendi inosunungura mugadziri kubva pakugadzirisa pointer uye inodzivirira kubva kune yakaderera-level ndangariro manipulation, senge mushure-yemahara memory yekuwana, null pointer dereferences, buffer overruns, nezvimwe. Maneja wepakeji ari kugadzirwa kugovera maraibhurari, kuona kuungana uye kugadzirisa zvinovimbika neprojekiti. kago, zvichikubvumidza kuti uwane maraibhurari anodiwa pachirongwa ichi nekudzvanya kumwe chete. A repository inotsigirwa kuitisa maraibhurari crates.io.

chikuru zvitsva:

  • Macros inopa kugona kushandisa zvimedu zvezvinhu kuti zvishandure kuita kodhi yehunhu (hunhu), kuita (impl) kana ekunze zvidhinha. Semuyenzaniso:

    macro_rules! mac_trait {
    ($i: chinhu) => {
    hunhu T {$i }
    }
    }
    mac_trait! {
    fn foo() {}
    }

    Ichatungamira kune chizvarwa:

    hunhu T {
    fn foo() {}
    }

  • Kuvandudzwa kwemhando yekuona kwekutanga, mareferensi uye mabhinari mashandiro.
    Semuenzaniso, iyo inotevera kodhi, iyo yakambokonzeresa kukanganisa, ikozvino yave kukwanisa kuunganidza (Rust ikozvino inosarudza nenzira kwayo kuti 0.0 uye & 0.0 inofanira kunge iri yerudzi f32):

    regai n: f32 = 0.0 + &0.0;

  • Imwe nharaunda nyowani CARGO_BIN_EXE_{zita} yawedzerwa kuCargo, iyo inoiswa paunenge uchivaka bvunzo dzekubatanidza uye inokubvumidza kuti uone nzira izere yefaira rinogoneka rinotsanangurwa mu[[bin]]" chikamu chepakeji.
  • Kana zvirevo zvichitenderwa kushandisa hunhu hwakadai se"#[cfg()]".
  • Raibhurari inopa kugona kushandisa anosanganisirwa maconstants akananga kune akazara uye mafractional marudzi, pasina kupinza module. Semuenzaniso, unogona kunyora nekukasika u32::MAX kana f32::NAN usina kutanga wataura "shandisa std::u32" uye "shandisa std::f32".
  • New module yakawedzerwa chinyakare, iyo inotumirazve kunze Rust primitive types, semuenzaniso kana iwe uchida kunyora macro uye ita shuwa kuti mhando hadzina kuvanzwa.
  • Chikamu chitsva che APIs chakaendeswa kune yakagadzikana chikamu, kusanganisira yakagadzikana

    Kamwe ::zvapera,
    f32::LOG10_2,
    f32::LOG2_10,
    f64::LOG10_2,
    f64::LOG2_10 uye
    iter::kamwe_ne.

Source: opennet.ru

Voeg