Rust 1.35 Programlingvo-Eldono

okazis eldono de la sistemo de programlingvo Rusto 1.35, disvolvita de la projekto Mozilla. La lingvo temigas memorsekurecon, disponigas aŭtomatan memoradministradon, kaj disponigas rimedon por atingi altan taskan paralelecon sen uzado de rubkolektanto aŭ rultempo.

La aŭtomata memoradministrado de Rust liberigas la ellaboranton de montrilo-manipulado kaj protektas kontraŭ problemoj ekestiĝantaj de malaltnivela memormanipulado, kiel ekzemple post-liberaj memoraliroj, nulaj montriloj dereferences, bufrotranspaso, kaj similaĵo. Pakaĵmanaĝero estas evoluigita por distribui bibliotekojn, certigi kunigon kaj administri dependecojn per la projekto. kargo, permesante al vi akiri la bibliotekojn necesajn por la programo per unu klako. Deponejo estas subtenata por gastigi bibliotekojn kestoj.io.

Ĉefa novigoj:

  • Trajtoj FnOnce, FnMut и Fn efektivigita por amaso-asignita boksitaj tipoj Box‹dyn FnOnce›, Box‹dyn FnMut› kaj Box‹dyn Fn›;
  • Aldonita ŝanco ĵetado de fermoj al nesekuraj funkciomontriloj (nesekura fn);
  • Efektivigis la kapablon nomi la makroon "dbg!" sen argumentoj por montri la dosiernomon kaj linionumeron en stderr sen inspekti la variablon, kio estas oportuna por elpurigi la operacion de kondiĉaj esprimoj;
  • Aldonita metodo " al glitkoma tipoj f32 kaj f64kopisigno» kopii signon de unu nombro al alia;
  • Aldonita metodo "enhavas", kiu permesas vin kontroli ĉu la specifita valoro estas ene de la intervalo;
  • Aldonita metodo Ref:Cell:mapo_dividita, permesante al vi pripensi kaj apartigi la pruntitan RefCell-valoron por malsamaj komponantoj de la pruntitaj datumoj;
  • Aldonita metodo RefCell::anstataŭigi_kun anstataŭigi la nunan RefCell-valoron kaj redoni la malnovan valoron kiel rezulto;
  • Aldonita metodo ptr::hash haŝi montrilon aŭ referencon per adreso prefere ol la adresita valoro;
  • Aldonita metodo Opcio::kopiita kopii la enhavon de la opcioj Opcio‹&T› aŭ Opcio‹&mut T›;
  • Nova parto de APIoj estis translokigita al la stabila kategorio, inkluzive de metodoj, kiuj estis stabiligitaj
    f32::kopisignalo,
    f64::kopisignalo,
    RefCell::anstataŭigi_kun,
    RefCell::mapo_dividita,
    ptr::hash,
    Gamo::enhavas,
    RangeFrom::enhavas,
    RangeTo::enhavas,
    RangeInclusive::enhavas,
    RangeToInclusive::enhavas kaj
    Opcio::kopiita;

  • Aldonita drop_bounds ĉeko al clippy (linter), kiu estas ekigita aldonante "T: Drop" ligado al la funkcio;
  • La kompililo aldonis subtenon por nova celplatformo
    wasm32-unknown-wasi (interfaco WASI uzi WebAssembly ekster la retumilo);

  • La ilaro Rust estas adaptita por distribuoj bazitaj sur la norma C-biblioteko Musl.

fonto: opennet.ru

Aldoni komenton