Publikimi i gjuhës programuese Rust 1.35

Ndodhi lëshimi i gjuhës programuese të sistemit Ndryshku 1.35, zhvilluar nga projekti Mozilla. Gjuha fokusohet në sigurinë e kujtesës, siguron menaxhimin automatik të kujtesës dhe ofron një mjet për të arritur paralelizëm të lartë të detyrave pa përdorur një grumbullues mbeturinash ose kohëzgjatjeje.

Menaxhimi automatik i kujtesës i Rust e çliron zhvilluesin nga manipulimi i treguesit dhe mbron nga problemet që lindin nga manipulimi i nivelit të ulët të kujtesës, të tilla si akseset e memories pa pagesë, çreferencat e treguesit null, tejkalimet e buferit dhe të ngjashme. Një menaxher paketash po zhvillohet për të shpërndarë bibliotekat, për të siguruar montimin dhe për të menaxhuar varësitë nga projekti. ngarkesë, duke ju lejuar të merrni bibliotekat e nevojshme për programin me një klik. Një depo mbështetet për të pritur bibliotekat arka.io.

Kryesore risitë:

  • Tiparet FnOnce, FnMut и Fn zbatuar për grumbull-alokuar llojet e kutive Box‹dyn FnOnce›, Box‹dyn FnMut› dhe Box‹dyn Fn›;
  • Shtuar mundësi derdhja e mbylljeve në treguesit e funksioneve të pasigurta (fn e pasigurt);
  • Zbatuar aftësinë për të thirrur makro "dbg!" pa argumente për shfaqjen e emrit të skedarit dhe numrit të rreshtit në stderr pa inspektuar variablin, i cili është i përshtatshëm për korrigjimin e funksionimit të shprehjeve të kushtëzuara;
  • U shtua metoda " në llojet e pikave lundruese f32 dhe f64shenjë kopjimi» për të kopjuar një karakter nga një numër në tjetrin;
  • Metoda e shtuar "përmban", e cila ju lejon të kontrolloni nëse vlera e specifikuar është brenda intervalit;
  • Metoda e shtuar Ref:Qeliza:harta_ndarje, duke ju lejuar të reflektoni dhe ndani vlerën e huazuar RefCell për komponentë të ndryshëm të të dhënave të huazuara;
  • Metoda e shtuar RefCell::replace_with për të zëvendësuar vlerën aktuale të RefCell dhe për të kthyer vlerën e vjetër si rezultat;
  • Metoda e shtuar ptr::hash për të hasur një tregues ose referencë nga një adresë në vend të vlerës së adresuar;
  • Metoda e shtuar Opsioni::kopjuar për të kopjuar përmbajtjen e opsioneve Option‹&T› ose Option‹&mut T›;
  • Një pjesë e re e API-ve është transferuar në kategorinë e qëndrueshme, duke përfshirë metodat që janë stabilizuar
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Gama::përmban,
    Gama Nga::përmban,
    RangeTo::përmban,
    Gama Përfshirëse::përmban,
    RangeToInclusive::përmban dhe
    Opsioni::kopjuar;

  • Kontrolli drop_bounds i shtuar në clippy (linter), i cili aktivizohet kur shtohet një lidhje "T: Drop" në funksion;
  • Përpiluesi ka shtuar mbështetje për një platformë të re të synuar
    wasm32-unknown-wasi (ndërfaqja WASI për të përdorur WebAssembly jashtë shfletuesit);

  • Paketa e veglave Rust është përshtatur për shpërndarjet bazuar në bibliotekën standarde C Musl.

Burimi: opennet.ru

Shto një koment