Rust 1.35 Rilaxx tal-Lingwa ta' Programmazzjoni

seħħet rilaxx tal-lingwa tal-ipprogrammar tas-sistema Sadid 1.35, żviluppat mill-proġett Mozilla. Il-lingwa tiffoka fuq is-sikurezza tal-memorja, tipprovdi ġestjoni awtomatika tal-memorja, u tipprovdi mezz biex jinkiseb paralleliżmu għoli tal-kompitu mingħajr ma tuża garbage collector jew runtime.

Il-ġestjoni awtomatika tal-memorja tas-sadid teħles lill-iżviluppatur mill-manipulazzjoni tal-pointer u tipproteġi kontra problemi li jirriżultaw minn manipulazzjoni tal-memorja ta 'livell baxx, bħal aċċessi għall-memorja wara ħielsa, dereferences null tal-pointer, buffer overruns, u affarijiet simili. Qed jiġi żviluppat maniġer tal-pakketti biex iqassam il-libreriji, jiżgura l-assemblaġġ u jamministra d-dipendenzi mill-proġett. merkanzija, li jippermettilek tikseb il-libreriji meħtieġa għall-programm fi klikk waħda. Repożitorju huwa appoġġjat biex jospita libreriji crates.io.

Il-prinċipali innovazzjonijiet:

  • Karatteristiċi FnOnce, FnMut и Fn implimentati għall-heap-allokati tipi f'kaxxa Box‹dyn FnOnce›, Box‹dyn FnMut› u Box‹dyn Fn›;
  • Miżjud opportunità ikkastjar ta 'għeluq għal indikaturi ta' funzjoni mhux siguri (fn mhux siguri);
  • Implimenta l-abbiltà li ssejjaħ il-makro "dbg!" mingħajr argumenti għall-wiri tal-isem tal-fajl u n-numru tal-linja fi stderr mingħajr ma tispezzjona l-varjabbli, li hija konvenjenti għad-debugging tal-operat tal-espressjonijiet kondizzjonali;
  • Miżjud metodu " għat-tipi floating point f32 u f64copysign» tikkopja karattru minn numru għal ieħor;
  • Metodu miżjud "fih", li jippermettilek tiċċekkja jekk il-valur speċifikat hux fil-medda;
  • Metodu miżjud Ref:Cell:map_split, li jippermettilek tirrifletti u tissepara l-valur RefCell misluf għal komponenti differenti tad-dejta mislufa;
  • Metodu miżjud RefCell::replace_with biex tissostitwixxi l-valur RefCell attwali u tirritorna l-valur l-antik bħala riżultat;
  • Metodu miżjud ptr::hash biex hash pointer jew referenza b'indirizz aktar milli l-valur indirizzat;
  • Metodu miżjud Għażla::kopjata biex tikkopja l-kontenut tal-għażliet Option‹&T› jew Option‹&mut T›;
  • Porzjon ġdid ta 'APIs ġie trasferit għall-kategorija stabbli, inklużi metodi li ġew stabbilizzati
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Firxa::fih,
    RangeFrom::fih,
    RangeTo::fih,
    RangeInclusive::fih,
    RangeToInclusive::fih u
    Għażla::kopjata;

  • Miżjud drop_bounds check ma clippy (linter), li jiġi attivat meta żżid "T: Drop" vinkolanti mal-funzjoni;
  • Il-kompilatur żied l-appoġġ għal pjattaforma mira ġdida
    wasm32-mhux magħruf-wasi (interface WASI biex tuża WebAssembly barra l-browser);

  • Is-sadid toolkit huwa adattat għal distribuzzjonijiet ibbażati fuq il-librerija C standard Musl.

Sors: opennet.ru

Żid kumment