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.
chikuru
- 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