Ukugqwala 1.35

Ithimba lokuthuthukisa i-Rust liyakujabulela ukumemezela inguqulo entsha yolimi lwabo: 1.35. I-Rust iwulimi lokuhlela olukuvumela ukuthi ubhale izinhlelo ezithembekile nezisebenza kahle.

Uma usuvele une-Rust efakiwe nge-rustup, ungabuyekeza ngomyalo:
$ rustup update uzinzile

Into esemqoka ekuvuselelweni ukuqaliswa kwezici zokuvala i-Fn, i-FnOnce, i-FnMut, ye-Box ,Ibhokisi ,Ibhokisi , ngokulandelana. Ukwengeza ikhono lokusakaza izikhombi emisebenzini engaphephile, ukushayela okuthi dbg!() macro manje sekungenzeka ngaphandle kwezimpikiswano, futhi umtapo wolwazi uzinzile.

Ngemininingwane:

  • Enguqulweni entsha sengeze ukusetshenziswa kwezimpawu ze-Fn, FnOnce, FnMut zeBhokisi ,Ibhokisi ,Ibhokisi , ngokulandelana.
    Manje le khodi izosebenza:
    fn foo(x: Ibhokisi u8>) -> Vec {
    vec![1, 2, 3, 4].into_iter().imephu(x).qoqa()
    }

    Ungaphinda ushayele ukuvala ngokuqondile kusuka ku-Box :
    fn foo(x: Ibhokisi ) {
    x()
    }

  • Ukuvalwa manje kungasakazwa kuzikhombi eziya ku-fn engaphephile.
    Manje le khodi isivumelekile:
    /// Okuhlukile kokuphepha yilezo zesikhombi esithi `engaphephile fn` esiphasisiwe.
    engaphephile fn call_unsafe_fn_ptr(f: engaphephile fn()) {
    f()
    }

    i-fnmain() {
    // UKUPHEPHA: Akukho okuguquguqukayo.
    // Ukuvalwa kuvinjelwe ngokwezibalo ekwenzeni izinto ezingaphephile.
    angiphephile {
    call_unsafe_fn_ptr(|| {
    dbg!();
    });
    }
    }

  • Kwengezwe amandla okushayela i-dbg!() macro ngaphandle kwezingxabano.
    Uma udlulisela inkulumo ethile kule macro, i-macro izophrinta umphumela wayo. Isibonelo:
    i-fnmain() {
    vumela u-x = 0;

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

    dbg!(x);
    }

    Uma usebenzisa le khodi uzobona:
    [src/main.rs:4] x == 1 = amanga
    [src/main.rs:8] x = 0

    Manje ungabhala kanje:
    i-fnmain() {
    vumela isimo = iqiniso;

    uma isimo {
    dbg!();
    }
    }

    Uma usebenzisa le khodi uzobona:
    [src/main.rs:5]

  • Ezinye izingxenye zelabhulali ejwayelekile zizinzile
    • Izindlela ezintsha ze-f32 ne-f64:
      • f32::uphawu lwekhophi
      • f64::uphawu lwekhophi

      Empeleni, imisebenzi ikopisha uphawu lenye inombolo. Isibonelo:
      i-fnmain() {
      assert_eq!(3.5_f32.copysign(-0.42), -3.5);
      }

    • Kwengezwe izindlela ezintsha zezinhlobo zobubanzi
      • Ibanga::liqukethe
      • IbangaKusuka::liqukethe
      • IbangaLiya::liqukethe
      • Ibanga elihlanganisiwe::liqukethe
      • I-RangeToInclusive::iqukethe

      Ngalezi zindlela ungakwazi ukuhlola kalula ukuthi inani elithile lilandelana:
      i-fnmain() {
      uma (0..=10).iqukethe(&5) {
      println!("Okwesihlanu kufakwe kuziro ukuya kweshumi.");
      }
      }

    • Ungathola uhlu oluphelele lwama-API azinzile lapha
  • Kulesi sibuyekezo, u-Clippy (Lolu wuhlelo oluhlola amaphutha amaningi ikhodi yakho) wengeze isheke elisha le- drop_bounds. Lokhu kuhlola kusebenza uma usetha umkhawulo: T: Drop - ngemisebenzi ejwayelekile:
    fn fu (x:T){}

    Ukuba ne-T: Ukuvinjelwa kokulahla ngokuvamile kuyiphutha, njengoba ezinye izinhlobo zikhishwa ngokushesha, njenge-u8. (Ungafunda kabanzi mayelana nalokhu lapha)

  • Kuningi ukuthuthukiswa nokulungiswa kweCargo (umphathi wephakeji yolimi), uhlu olugcwele lwezinguquko

Source: linux.org.ru

Thenga ukusingathwa okuthembekile kwamasayithi anokuvikelwa kwe-DDoS, amaseva e-VPS VDS πŸ”₯ Thenga ukusingathwa kwewebhusayithi okuthembekile ngokuvikelwa kwe-DDoS, amaseva e-VPS VDS | ProHoster