Rust 1.43 Programazio Lengoaia kaleratzea

argitaratua sistemaren programazio lengoaia kaleratzea Herdoila 1.43, Mozilla proiektuak sortua. Lengoaiak memoriaren segurtasunean oinarritzen da, memoria automatikoki kudeatzen du eta zereginen paralelismo handia lortzeko tresnak eskaintzen ditu zabor-biltzailerik erabili gabe eta runtime.

Rust-en memoria-kudeaketa automatikoak garatzailea erakusleen manipulaziotik askatzen du eta maila baxuko memoriaren manipulaziotik sortzen diren arazoetatik babesten du, hala nola, memoria librearen ondorengo sarbideetatik, erakusle nuluen deserreferentziak, buffer gainezkatzeetatik eta antzekoetatik. Liburutegiak banatzeko, muntaia ziurtatzeko eta proiektuaren mendekotasunak kudeatzeko pakete-kudeatzaile bat garatzen ari da. Zama, programarako beharrezkoak diren liburutegiak klik bakarrean eskuratu ahal izateko. Biltegi bat onartzen da liburutegiak ostatatzeko kaxak.io.

Nagusia berrikuntzak:

  • Makroek elementu zatiak erabiltzeko gaitasuna ematen dute ezaugarrietarako (ezaugarri), inplementazioetarako (impl) edo kanpoko blokeetarako kode bihurtzeko. Adibidez:

    makro_arauak! mac_trait {
    ($i:elementua) => {
    ezaugarria T { $i }
    }
    }
    mac_trait! {
    fn foo() {}
    }

    Sorkuntza ekarriko du:

    ezaugarri T {
    fn foo() {}
    }

  • Primitiboen, erreferentzien eta eragiketa bitarren mota detektatzeko hobetua.
    Esate baterako, lehen akats bat eragin zuen hurrengo kodea orain konpilatu ahal izango da (Rustek orain zuzen zehazten du 0.0 eta &0.0 f32 motakoak izan behar dutela):

    izan bedi n: f32 = 0.0 + &0.0;

  • CARGO_BIN_EXE_{izena} ingurune-aldagai berri bat gehitu da Cargo-ra, integrazio-probak eraikitzean ezartzen dena eta paketearen "[[bin]]" atalean definitutako fitxategi exekutagarriaren bide osoa zehazteko aukera ematen duena.
  • Adierazpenek "#[cfg()]" bezalako atributuak erabiltzeko baimena badute.
  • Liburutegiak erlazionatutako konstanteak zuzenean erabiltzeko aukera ematen du zenbaki osoetarako eta zatikietarako, modulurik inportatu gabe. Esaterako, berehala idatz dezakezu u32::MAX edo f32::NAN "erabili std::u32" eta "erabili std::f32" zehaztu gabe.
  • Modulu berria gehitu da primitive, Rust mota primitiboak berriro esportatzen dituena, adibidez makro bat idatzi behar duzunean eta motak ezkutatuta ez daudela ziurtatzeko.
  • APIen zati berri bat egonkor kategoriara eraman da, egonkortuta barne

    Behin::osatutakoa,
    f32::LOG10_2,
    f32::LOG2_10,
    f64::LOG10_2,
    f64::LOG2_10 eta
    iter::behin_rekin.

Iturria: opennet.ru

Gehitu iruzkin berria