Rust 1.46 Programazio Lengoaia kaleratzea

argitaratua sistemaren programazio-lengoaiaren 1.46 bertsioa Herdoilaren, 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 akatsak ezabatzen ditu erakusleak manipulatzean eta maila baxuko memoriaren manipulaziotik sortzen diren arazoetatik babesten du, hala nola, memoria-eskualde batera atzitzea askatu ondoren, erakusle nuluen deserreferentziak, buffer gainditzeak, etab. Liburutegiak banatzeko, muntaia ziurtatzeko eta proiektuaren mendekotasunak kudeatzeko pakete-kudeatzailea garatzen ari da. Zama, programarako beharrezkoak diren liburutegiak klik bakarrean eskuratu ahal izateko. Biltegi bat onartzen da liburutegiak ostatatzeko kaxak.io.

Nagusia berrikuntzak:

  • "const fn" esamoldea erabiliz definitutako funtzioen gaitasunak zabaldu dira, funtzio erregular gisa ez ezik, konstanteen ordez edozein testuingurutan ere erabil daitezkeenak. Funtzio hauek konpilazio garaian kalkulatzen dira, ez exekuzioan, beraz, zenbait murrizketa dituzte, hala nola konstanteetatik soilik irakurtzeko gaitasuna.

    Bertsio berriak operadore boolearrak ("&&" eta "||") erabiltzeko debekua kentzen du funtzio horietan, eta "if", "if let", "match" eraikuntzak erabiltzeko aukera ematen du,
    "while", "while let" eta "loop", eta "&[T]" esamoldea erabiliz xerra (xerra, matrize dinamikoak) bihurtzeko gaitasuna ere eskaintzen du. Ezaugarri hauek "const fn" funtzioetan erabiltzeak baliabideak behar dituzten eragiketa batzuk konpilazio fasera eraman ditzakezu. Esate baterako, "const-sha1" ezarpenak SHA-1 hashak konpilazio garaian kalkulatzea ahalbidetzen du, eta horrek Rust-en WinRT loturak ia 40 aldiz bizkortzen ditu.

  • Errore-mezuak informazio gehiago izan daitezen, "#[track_caller]" atributuaren euskarria egonkortu da, eta hori erabilgarria da desegitea bezalako funtzioetarako, eta horrek izua eragin dezake motak gaizki erabiltzen badira. Zehaztutako atributua izuaren kudeatzaileak erabiliko du deitzailearen kokapena errore-mezu batean inprimatzeko.
  • "const" atributua, konstanteen ordez edozein testuingurutan erabiltzeko aukera zehazten duena, std::mem::forget metodoan erabiltzen da.
  • APIaren zati berri bat egonkor kategoriara eraman da, Option::zip eta vec::Drain::as_slice egonkortuak barne.
  • Cargo pakete-kudeatzailean gehitu pakete bat konpilatzean ezarritako ingurune-aldagai berrientzako laguntza: CARGO_BIN_NAME (ondorioz sortutako fitxategi exekutagarriaren izena), CARGO_CRATE_NAME (paketearen izena), CARGO_PKG_LICENSE (manifestean zehaztutako lizentzia), CARGO_PKG_LICENSE_FILE (lizentzia-fitxategiaren bidea).

Iturria: opennet.ru

Gehitu iruzkin berria