Rust 1.35 Programming Language Version

pran plas lage langaj pwogramasyon sistèm lan Rouye 1.35, devlope pa pwojè Mozilla. Lang la konsantre sou sekirite memwa, bay jesyon memwa otomatik, epi li bay yon mwayen pou reyalize paralèl travay segondè san yo pa itilize yon pèseptè fatra oswa ègzekutabl.

Jesyon otomatik memwa Rust la libere pwomotè a soti nan manipilasyon konsèy ak pwoteje kont pwoblèm ki rive nan manipilasyon memwa ki ba-nivo, tankou aksè memwa apre-gratis, dereferans pointer nil, depase tanpon, ak lòt bagay. Yon manadjè pake ap devlope pou distribye bibliyotèk, asire asanble ak jere depandans pa pwojè a. Chaj, ki pèmèt ou jwenn bibliyotèk ki nesesè pou pwogram nan nan yon sèl klike sou. Yon depo sipòte pou òganize bibliyotèk kès.io.

Prensipal la inovasyon:

  • Karakteristik FnOnce, FnMut и Fn aplike pou pil-atribye kalite bwat Bwat‹dyn FnOnce›, Bwat‹dyn FnMut› ak Bwat‹dyn Fn›;
  • Te ajoute opòtinite depoze fèmen nan pwent fonksyon ki pa an sekirite (safe fn);
  • Aplike abilite pou rele makro a "dbg!" san yo pa agiman pou montre non fichye a ak nimewo liy nan stderr san yo pa enspekte varyab la, ki se pratik pou debogaj operasyon an nan ekspresyon kondisyonèl;
  • Te ajoute metòd " nan kalite pwen k ap flote f32 ak f64copysign» pou kopye yon karaktè soti nan yon nimewo nan yon lòt;
  • Metòd te ajoute "gen", ki pèmèt ou tcheke si valè espesifye a nan seri a;
  • Metòd te ajoute Ref:Selil:map_split, ki pèmèt ou reflete epi separe valè RefCell prete a pou diferan eleman done yo prete a;
  • Metòd te ajoute RefCell::ranplase_ak pou ranplase valè RefCell aktyèl la epi retounen ansyen valè a kòm rezilta;
  • Metòd te ajoute ptr::hash Hash yon pointeur oswa referans pa yon adrès olye ke valè a adrese;
  • Metòd te ajoute Opsyon::kopiye pou kopye sa ki nan opsyon Opsyon‹&T› oswa Opsyon‹&mut T›;
  • Yon nouvo pati nan API yo te transfere nan kategori ki estab, ki gen ladan metòd ki te estabilize
    f32::copysign,
    f64::copysign,
    RefCell::ranplase_ak,
    RefCell::map_split,
    ptr::hash,
    Range::genyen,
    RangeFrom::contains,
    RangeTo::contains,
    RangeInclusive::contains,
    RangeToInclusive::contains and
    Opsyon::kopiye;

  • Te ajoute drop_bounds chèk nan clippy (linter), ki deklanche lè yo ajoute yon "T: Drop" obligatwa nan fonksyon an;
  • Konpilatè a te ajoute sipò pou yon nouvo platfòm sib
    wasm32-unknown-wasi (koòdone WASI pou itilize WebAssembly deyò navigatè a);

  • Twou zouti Rust adapte pou distribisyon ki baze sou bibliyotèk C estanda Musl.

Sous: opennet.ru

Add nouvo kòmantè