Izdanje Rust programskog jezika 1.35

odvijao izdanje sistemskog programskog jezika Rđa 1.35, razvijen od strane Mozilla projekta. Jezik se fokusira na sigurnost memorije, omogućuje automatsko upravljanje memorijom i pruža sredstva za postizanje visokog paralelizma zadataka bez korištenja skupljača smeća ili vremena izvođenja.

Rustovo automatsko upravljanje memorijom oslobađa programera od manipulacije pokazivačima i štiti od problema koji proizlaze iz manipulacije memorijom niske razine, kao što su pristupi memoriji nakon oslobađanja, dereferencije nultog pokazivača, prekoračenja međuspremnika i slično. Upravitelj paketa se razvija za distribuciju biblioteka, osiguranje sklapanja i upravljanje ovisnostima projekta. Naboj, što vam omogućuje da jednim klikom dobijete biblioteke potrebne za program. Repozitorij je podržan za host knjižnica sanduci.io.

Glavni inovacije:

  • Osobine FnOnce, FnMut и Fn implementiran za gomilu dodijeljenu vrste u kutiji Box‹dyn FnOnce›, Box‹dyn FnMut› i Box‹dyn Fn›;
  • Dodano prilika ubacivanje zatvaranja na nesigurne pokazivače funkcija (nesiguran fn);
  • Implementirana je mogućnost pozivanja makronaredbe "dbg!" bez argumenata za prikaz naziva datoteke i broja retka u stderr bez provjere varijable, što je zgodno za otklanjanje pogrešaka u radu uvjetnih izraza;
  • Dodana metoda " tipovima s pomičnim zarezom f32 i f64copysign» kopirati znak s jednog broja na drugi;
  • Dodana metoda "sadrži“, što vam omogućuje da provjerite je li navedena vrijednost unutar raspona;
  • Dodana metoda Ref: Cell: map_split, omogućujući vam da odražavate i odvojite posuđenu RefCell vrijednost za različite komponente posuđenih podataka;
  • Dodana metoda RefCell::replace_with zamijeniti trenutnu RefCell vrijednost i vratiti staru vrijednost kao rezultat;
  • Dodana metoda ptr::hash hashirati pokazivač ili referencu adresom umjesto adresiranom vrijednošću;
  • Dodana metoda Opcija::kopirano za kopiranje sadržaja opcija Option‹&T› ili Option‹&mut T›;
  • Novi dio API-ja prebačen je u stabilnu kategoriju, uključujući metode koje su stabilizirane
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Raspon::sadrži,
    RangeFrom::sadrži,
    RangeTo::sadrži,
    RangeInclusive::sadrži,
    RangeToInclusive::sadrži i
    Opcija::kopirano;

  • Dodana drop_bounds provjera za clippy (linter), koja se pokreće prilikom dodavanja povezivanja "T: Drop" u funkciju;
  • Kompajler je dodao podršku za novu ciljnu platformu
    wasm32-unknown-wasi (sučelje WASI koristiti WebAssembly izvan preglednika);

  • Rust toolkit je prilagođen za distribucije temeljene na standardnoj C biblioteci Musl.

Izvor: opennet.ru

Dodajte komentar