Herdoila 1.35

Rust garapen taldea pozik dago bere hizkuntzaren bertsio berri bat iragartzeko: 1.35. Rust programa fidagarriak eta eraginkorrak idazteko aukera ematen duen programazio-lengoaia da.

Rust instalatuta baduzu rustup bidez, komandoarekin egunera dezakezu:
$ rustup eguneraketa egonkorra

Eguneraketaren gauza nagusia Fn, FnOnce, FnMut, Box-erako itxiera-ezaugarriak ezartzea da. , Kutxa , Kutxa , hurrenez hurren. Funtzio seguruen erakusleei itxierak igortzeko gaitasuna gehitzea, dbg!() makroari deitzea posible da orain argumenturik gabe, eta liburutegi estandarra egonkortu da.

Xehetasunetara:

  • Bertsio berrian Box-erako Fn, FnOnce, FnMut ezaugarrien inplementazioak gehitu ditugu , Kutxa , Kutxa , hurrenez hurren.
    Orain kode honek funtzionatuko du:
    fn foo(x: Kutxa u8>) -> Bec {
    vec![1, 2, 3, 4].into_iter().map(x).collect()
    }

    Box-etik ere itxi dezakezu zuzenean :
    fn foo(x: Kutxa ) {
    x()
    }

  • Itxierak fn segururako erakusleetara bota daitezke orain.
    Orain kode honek balio du:
    /// Segurtasun aldaezinak gainditutako `unsafe fn` erakuslearenak dira.
    unsafe fn call_unsafe_fn_ptr (f: unsafe fn ()) {
    f()
    }

    fn main() {
    // SEGURTASUNA: Ez dago aldaezinik.
    // Itxiera estatikoki eragozten da gauza ez-seguruak egitea.
    seguru {
    call_unsafe_fn_ptr(|| {
    dbg!();
    });
    }
    }

  • dbg!() makroari argumenturik gabe deitzeko gaitasuna gehitu da.
    Makro honi adierazpen batzuk pasatzen badituzu, makroak bere emaitza inprimatuko du. Adibidea:
    fn main() {
    dezagun mut x = 0;

    dbg bada!(x == 1) {
    x += 1;
    }

    dbg!(x);
    }

    Kode hau exekutatzen duzunean ikusiko duzu:
    [src/main.rs:4] x == 1 = faltsua
    [src/main.rs:8] x = 0

    Orain honela idatzi dezakezu:
    fn main() {
    utzi baldintza = egia;

    baldin baldintza {
    dbg!();
    }
    }

    Kode hau exekutatzen duzunean ikusiko duzu:
    [src/main.rs:5]

  • Liburutegi estandarraren zati batzuk egonkortu egin dira
    • F32 eta f64 metodo berriak:
      • f32::copysign
      • f64::copysign

      Izan ere, funtzioek beste zenbaki baten zeinua kopiatzen dute. Adibidea:
      fn main() {
      assert_eq!(3.5_f32.copysign(-0.42), -3.5);
      }

    • Barruti motetarako metodo berriak gehitu dira
      • Barrutia::dauka
      • RangeFrom::contains
      • RangeTo::contains
      • RangeInclusive::contains
      • RangeToInclusive::contains

      Metodo hauekin erraz egiaztatu dezakezu balio jakin bat sekuentzia batean dagoen:
      fn main() {
      bada (0..=10).contains(&5) {
      println!("Zerotik hamarrean bost sartzen dira.");
      }
      }

    • Egonkortutako APIen zerrenda osoa aurki dezakezu Hemen
  • Eguneratze honetan, Clippy-k (zure kodea akats asko egiaztatzen duen programa da) drop_bounds-en egiaztapen berria gehitu du. Egiaztapen honek muga bat ezartzen duzunean funtzionatzen du: T: Jaregin - funtzio orokortuetarako:
    fn foo (x:T){}

    T bat izatea: jaitsiera murrizketa akatsa izaten da gehienetan, mota batzuk berehala baztertzen baitira, adibidez u8. (Hori buruz gehiago irakur dezakezu Hemen)

  • Hobekuntza eta konponketa asko Cargo-n (hizkuntza paketeen kudeatzailea), aldaketen zerrenda osoa

Iturria: linux.org.ru

Erosi hosting fidagarria DDoS babesa duten guneetarako, VPS VDS zerbitzariak πŸ”₯ Erosi webguneentzako ostatu fidagarria DDoS babesarekin, VPS VDS zerbitzariak | ProHoster