Vydanie programovacieho jazyka Rust 1.35

uskutočnilo sa vydanie systémového programovacieho jazyka Hrdza 1.35, vyvinutý projektom Mozilla. Jazyk sa zameriava na bezpečnosť pamäte, poskytuje automatickú správu pamäte a poskytuje prostriedky na dosiahnutie vysokej paralelnosti úloh bez použitia garbage collectora alebo runtime.

Automatická správa pamäte Rust oslobodzuje vývojára od manipulácie s ukazovateľmi a chráni pred problémami vznikajúcimi pri manipulácii s pamäťou na nízkej úrovni, ako sú napríklad prístupy do pamäte po uvoľnení, dereferences nulového ukazovateľa, pretečenie vyrovnávacej pamäte a podobne. Vyvíja sa správca balíkov na distribúciu knižníc, zabezpečenie zostavenia a správu závislostí v rámci projektu. náklad, čo vám umožní získať knižnice potrebné pre program jedným kliknutím. Hostiteľské knižnice podporujú úložisko crates.io.

Hlavné inovácie:

  • Vlastnosti FnOnce, FnMut и Fn implementované pre haldy pridelené krabicové typy Box‹dyn FnOnce›, Box‹dyn FnMut› a Box‹dyn Fn›;
  • Pridané príležitosť odlievanie uzáverov na ukazovatele nebezpečných funkcií (nebezpečné fn);
  • Implementovaná možnosť volať makro „dbg!“ bez argumentov na zobrazenie názvu súboru a čísla riadku v stderr bez kontroly premennej, čo je vhodné na ladenie prevádzky podmienených výrazov;
  • Pridaná metóda " k typom s pohyblivou rádovou čiarkou f32 a f64copysign» kopírovanie znaku z jedného čísla do druhého;
  • Pridaná metóda "obsahuje“, ktorý vám umožňuje skontrolovať, či je zadaná hodnota v rozsahu;
  • Pridaná metóda Ref:Cell:map_split, čo vám umožňuje odrážať a oddeľovať vypožičanú hodnotu RefCell pre rôzne zložky vypožičaných údajov;
  • Pridaná metóda RefCell::replace_with nahradiť aktuálnu hodnotu RefCell a vrátiť starú hodnotu ako výsledok;
  • Pridaná metóda ptr::hash hašovať ukazovateľ alebo odkaz adresou a nie adresovanou hodnotou;
  • Pridaná metóda Možnosť::skopírované skopírovať obsah možností Možnosť‹&T› alebo Možnosť‹&mut T›;
  • Do stabilnej kategórie bola presunutá nová časť API, vrátane metód, ktoré boli stabilizované
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Rozsah::obsahuje,
    RozsahOd::obsahuje,
    RangeTo::obsahuje,
    RangeInclusive::obsahuje,
    RangeToInclusive::obsahuje a
    Možnosť::skopírované;

  • Pridaná kontrola drop_bounds do clippy (linter), ktorá sa spúšťa pri pridávaní väzby „T: Drop“ do funkcie;
  • Kompilátor pridal podporu pre novú cieľovú platformu
    wasm32-unknown-wasi (rozhranie BOL SOM používať WebAssembly mimo prehliadača);

  • Sada nástrojov Rust je prispôsobená pre distribúcie založené na štandardnej knižnici C Musl.

Zdroj: opennet.ru

Pridať komentár