Programski jezik Rust 1.35 izdanje

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

Rust-ovo automatsko upravljanje memorijom oslobađa programera od manipulacije pokazivačem i štiti od problema koji proizlaze iz manipulacije memorijom na niskom nivou, kao što su pristupi memoriji nakon slobodne upotrebe, dereferenciranje nulte pokazivača, prekoračenje bafera i slično. Razvija se menadžer paketa za distribuciju biblioteka, osiguravanje sklapanja i upravljanje ovisnostima od strane projekta. teret, što vam omogućava da jednim klikom dobijete biblioteke potrebne za program. Podržano je spremište za hostiranje biblioteka crates.io.

Glavni inovacije:

  • Osobine FnOnce, FnMut и Fn implementiran za heap alociran tipovi u kutijama Box‹dyn FnOnce›, Box‹dyn FnMut› i Box‹dyn Fn›;
  • Dodano prilika prebacivanje zatvaranja na pokazivače nesigurnih funkcija (unsafe fn);
  • Implementirana je mogućnost pozivanja makroa "dbg!" bez argumenata za prikaz imena datoteke i broja reda u stderr-u bez pregleda varijable, što je zgodno za otklanjanje grešaka u radu uslovnih izraza;
  • Dodata metoda " tipovima s pomičnim zarezom f32 i f64copysign» kopirati znak iz jednog broja u drugi;
  • Dodata metoda "sadrži“, koji vam omogućava da provjerite da li je navedena vrijednost unutar raspona;
  • Dodata metoda Ref:Cell:map_split, omogućavajući vam da odražavate i odvojite posuđenu RefCell vrijednost za različite komponente posuđenih podataka;
  • Dodata metoda RefCell::replace_with za zamjenu trenutne vrijednosti RefCell i vraćanje stare vrijednosti kao rezultat;
  • Dodata metoda ptr::hash heširati pokazivač ili referencu putem adrese, a ne adresirane vrijednosti;
  • Dodata metoda Opcija::kopirano da kopirate sadržaj opcija Option‹&T› ili Option‹&mut T›;
  • Novi dio API-ja je prebačen 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;

  • Dodata drop_bounds provjera u clippy (linter), koja se pokreće kada se u funkciju doda veza „T: Drop“;
  • Kompajler je dodao podršku za novu ciljnu platformu
    wasm32-nepoznato-wasi (sučelje WASI da koristite WebAssembly izvan pretraživača);

  • Rust komplet alata je prilagođen za distribucije bazirane na standardnoj C biblioteci Musl.

izvor: opennet.ru

Dodajte komentar