Rust 1.35 Programméiersprooch Fräisetzung

stattfonnt huet System Programméierungssprooch Verëffentlechung roscht 1.35, entwéckelt vum Mozilla Projet. D'Sprooch konzentréiert sech op Erënnerung Sécherheet, stellt automatesch Erënnerung Gestioun, a gëtt e Mëttel fir eng héich Aufgab parallelism ze erreechen ouni e Gerempels Sammelstécker oder Runtime benotzen.

Rust automatesch Erënnerung Gestioun befreit den Entwéckler vun Pointer Manipulatioun a schützt géint Problemer déi aus niddereg-Niveau Erënnerung Manipulatioun entstinn, wéi no-gratis Erënnerung Accès, Null Pointer dereferences, Puffer Iwwerstonnen, an dergläiche. E Package Manager gëtt entwéckelt fir Bibliothéiken ze verdeelen, Assemblée ze garantéieren an Ofhängegkeete vum Projet ze managen. cargo, erlaabt Iech d'Bibliothéike fir de Programm an engem Klick ze kréien. E Repository gëtt ënnerstëtzt fir Bibliothéiken ze hosten crates.io.

Haaptstrooss Innovatiounen:

  • Eegeschaften FnOnce, FnMut и Fn ëmgesat fir Heap-allokéiert Këscht Zorten Box‹dyn FnOnce›, Box‹dyn FnMut› and Box‹dyn Fn›;
  • Dobäigesat Geleeënheet Casting Zoumaache fir onsécher Funktiounsweiser (onsécher fn);
  • Implementéiert d'Fäegkeet fir de Makro "dbg!" ouni Argumenter fir de Dateinumm an d'Zeilnummer an stderr ze weisen ouni d'Variabel z'inspektéieren, wat praktesch ass fir d'Operatioun vun bedingte Ausdréck ze Debuggéieren;
  • D'Method "zu Floating Point Typen f32 a f64 bäigefüügtcopysign» e Charakter vun enger Nummer op eng aner ze kopéieren;
  • Zousätzlech Method "enthält", wat Iech erlaabt ze kontrolléieren ob de spezifizéierte Wäert am Beräich ass;
  • Zousätzlech Method Ref:Zell:map_split, erlaabt Iech de geléinte RefCell-Wäert fir verschidde Komponente vun de geléinten Donnéeën ze reflektéieren an ze trennen;
  • Zousätzlech Method RefCell :: ersetzen_mat den aktuelle RefCell-Wäert z'ersetzen an den alen Wäert als Resultat zréckzeginn;
  • Zousätzlech Method ptr::haat e Pointer oder Referenz duerch eng Adress ze hashéieren anstatt de adresséierte Wäert;
  • Zousätzlech Method Optioun :: kopéiert fir den Inhalt vun der Optioun‹&T› oder Option‹&mut T› Optiounen ze kopéieren;
  • En neien Deel vun APIen gouf an déi stabil Kategorie transferéiert, dorënner Methoden déi stabiliséiert goufen
    f32::copysign,
    f64::copysign,
    RefCell::ersetzen_mat,
    RefCell::map_split,
    ptr::hasch,
    Range :: enthält,
    RangeFrom :: enthält,
    RangeTo :: enthält,
    RangeInclusive :: enthält,
    RangeToInclusive :: enthält an
    Optioun :: kopéiert;

  • A drop_bounds Scheck gouf op Clippy (Linter) bäigefüügt, deen ausgeléist gëtt wann Dir eng "T: Drop" Bindung un d'Funktioun bäidréit;
  • De Compiler huet Ënnerstëtzung fir eng nei Zilplattform bäigefüügt
    wasm32-unknown-wasi (Interface WASI WebAssembly ausserhalb vum Browser ze benotzen);

  • De Rust Toolkit ass fir Verdeelungen ugepasst baséiert op der Standard C Bibliothéik Musl.

Source: opennet.ru

Setzt e Commentaire