Harafesina 1.35

Ny ekipa fampandrosoana Rust dia faly manambara ny dikan-teny vaovao amin'ny fiteniny: 1.35. Rust dia fiteny fandaharana ahafahanao manoratra programa azo antoka sy mahomby.

Raha efa nametraka Rust tamin'ny alΓ lan'ny rustup ianao dia afaka manavao amin'ny baiko:
$ rustup update stable

Ny zava-dehibe indrindra amin'ny fanavaozana dia ny fampiharana ireo toetra fanakatonana Fn, FnOnce, FnMut, ho an'ny Box ,Boaty ,Boaty , tsirairay avy. Manampy ny fahafahana manidy fanakatonana amin'ny tondro ho an'ny asa tsy azo antoka, ny fiantsoana ny dbg!() macro dia azo atao tsy misy adihevitra, ary ny tranomboky mahazatra dia nilamina.

Ho an'ny antsipiriany:

  • Ao amin'ny dikan-teny vaovao dia nampiana ny fampiharana ny toetra Fn, FnOnce, FnMut ho an'ny Box ,Boaty ,Boaty , tsirairay avy.
    Izao ity code ity dia hiasa:
    fn foo(x: Boaty u8>) -> Vec {
    vec![1, 2, 3, 4].into_iter().map(x).collect()
    }

    Azonao atao ihany koa ny miantso ny fanakatonana mivantana avy amin'ny Box :
    fn foo(x: Boaty ) {
    x()
    }

  • Ny fanakatonana izao dia azo alefa any amin'ny tondro mankany amin'ny fn tsy azo antoka.
    Izao kaody izao dia manan-kery:
    /// Ny invariant fiarovana dia ny an'ny tondro `tsy azo antoka fn` nandalo.
    tsy azo antoka fn antso_tsy azo antoka_fn_ptr(f: tsy azo antoka fn()) {
    f()
    }

    fn main() {
    // FAHASALAMANA: Tsy misy invariants.
    // Voasakana tsy hanao zavatra tsy azo antoka ny fanakatonana.
    tsy azo antoka {
    call_unsafe_fn_ptr(|| {
    dbg!();
    });
    }
    }

  • Nampiana ny fahafahana miantso ny dbg!() macro tsy misy adihevitra.
    Raha mampita fomba fiteny sasany amin'ity macro ity ianao dia hanonta ny valiny ny macro. Ohatra:
    fn main() {
    avelao mut x = 0;

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

    dbg!(x);
    }

    Rehefa mihazakazaka ity code ity ianao dia hahita:
    [src/main.rs:4] x == 1 = diso
    [src/main.rs:8] x = 0

    Afaka manoratra toy izao ianao:
    fn main() {
    avelao ny fepetra = marina;

    raha fepetra {
    dbg!();
    }
    }

    Rehefa mihazakazaka ity code ity ianao dia hahita:
    [src/main.rs:5]

  • Ny ampahany sasany amin'ny tranomboky mahazatra dia nalamina
    • Fomba vaovao ho an'ny f32 sy f64:
      • f32::copisign
      • f64::copisign

      Raha ny marina, ny asa dia mandika ny famantarana ny isa hafa. Ohatra:
      fn main() {
      assert_eq!(3.5_f32.copysign(-0.42), -3.5);
      }

    • Nampiana fomba vaovao ho an'ny karazana Range
      • Range::misy
      • RangeFrom :: misy
      • RangeTo:: misy
      • RangeInclusive:: misy
      • RangeToInclusive :: misy

      Amin'ny alalan'ireto fomba ireto dia azonao atao ny manamarina mora raha misy sanda iray ao anaty filaharana:
      fn main() {
      raha (0..=10).misy(&5) {
      println!("Ny dimy dia tafiditra ao anatin'ny aotra ka hatramin'ny folo.");
      }
      }

    • Azonao atao ny mahita lisitra feno amin'ny API efa miorina eto
  • Amin'ity fanavaozana ity, Clippy (Ity dia programa manamarina ny kaody misy anao raha misy hadisoana maro) dia nanampy fanamarinana vaovao ho an'ny drop_bounds. Ity fisavana ity dia mipoitra rehefa mametraka fameperana ianao: T: Atsaharo - ho an'ny fiasa ankapobeny:
    fn fo (x:T){}

    Ny fananana T: Ny fameperana mitete dia matetika fahadisoana, satria misy karazany tsy tafiditra avy hatrany, toy ny u8 eto)

  • Betsaka ny fanatsarana sy fanamboarana ao amin'ny Cargo (mpitantana fonosana amin'ny fiteny), lisitra feno ny fanovana

Source: linux.org.ru

Mividiana fampiantranoana azo antoka ho an'ny tranokala misy fiarovana DDoS, mpizara VPS VDS πŸ”₯ Mividiana fampiantranoana tranonkala azo antoka miaraka amin'ny fiarovana DDoS, mpizara VPS VDS | ProHoster