A Rust 1.68 támogatási fejlesztésekkel és még sok mással érkezik

rozsda

A Rust egy lefordított programozási nyelv, amely támogatja a tisztán funkcionális, procedurális, kötelező és objektumorientált programozást.

Nemrég jelentették be a Rust programozási nyelv új verziójának, az 1.68-as verziónak a megjelenését. Azok számára, akik nem ismerik a Rustot, ezt a programozási nyelvet a Mozilla projekt alapította, de most a független, nonprofit Rust Alapítvány fejlesztése alatt áll.

A nyelv a memóriabiztonságra összpontosít , és eszközöket biztosít a magas szintű jobpárhuzamosság eléréséhez, miközben elkerüli a szemétgyűjtő és a futási környezet használatát (a futási környezet az alapvető inicializálásra és a standard könyvtárkarbantartásra korlátozódik).

A Rust memóriakezelési módszerei megóvják a fejlesztőt a mutatók manipulálása során előforduló hibáktól, és megóvják az alacsony szintű memóriamanipulációból eredő problémákat, mint például egy memóriaterület elérése annak felszabadítása után, a nulla mutatók hivatkozásának megszüntetése, a memória túlcsordulása stb. puffer stb A programkönyvtárak terjesztéséhez, a buildek biztosításához és a függőségek kezeléséhez a projekt fejleszti a Cargo csomagkezelőt.

A Rust védelmet nyújt az egész számok túlcsordulása ellen, használat előtt kötelező inicializálást igényel a változóértékek esetében, jobban kezeli a hibákat, mint a standard könyvtár, alapértelmezés szerint alkalmazza a referenciák és a megváltoztathatatlan változók fogalmát, és erős statikus tipizálást kínál a logikai hibák minimalizálása érdekében.

A Rust 1.68 főbb újdonságai

A Rust 1.68 új verziójában a Sparse protokoll támogatása stabilizálódott a Cargo csomagkezelőben és a crates.io repositoryban, ami egy új munkamódszert definiál egy olyan indexszel, amely a repositoryban található összes meglévő csomag elérhető verzióit tükrözi.

Az új protokoll lehetővé teszi a crates.io-val végzett munka sebességének jelentős növelését és a skálázási problémák megoldását a tárolóban lévő csomagok számának további növelésével.

A teljes index letöltéséből adódó késedelmek csökkentése érdekében a Sparse a Git-en keresztüli indexhozzáférés helyett csak a szükséges indexadatokat tölti le közvetlenül HTTPS-en keresztül , lefedve az adott projekt függőségeit. Egy új szolgáltatás, az index.crates.io vesz részt az indexadatok visszaadásában.

Alapértelmezés szerint az új protokoll a Rust 1.70-es verziójában kerül használatra , és előtte az engedélyezéséhez beállíthatja a " CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse " környezeti változót, vagy hozzáadhatja a ' protocol=sparse' paramétert a .cargo/config.toml fájlhoz.

Egy másik figyelemre méltó változás a "pin!" makró hozzáadása , amely lehetővé teszi egy Pin<&mut T> struktúra létrehozását a "T" kifejezésből, az állapotának lokális rögzítésével (a Box::pin-nel ellentétben nem foglal le memóriát a heap-en, hanem csatlakozik a verem szintjéhez).

Ezenkívül azt is tapasztalni fogjuk, hogy egy alapértelmezett memória-elosztási hibakezelőt javasolunk , amelyet a standard memória-elosztási csomag használatakor használunk.

Azok az alkalmazások, amelyek csak az alloc-ot engedélyezik (nem a std-t), mostantól a "panic!" kezelőt hívják meg memória-allokációs hibák esetén, amelyet opcionálisan a "#[panic_handler]" paranccsal lehet elfogni. Az std könyvtárat használó programok továbbra is hibainformációkat írnak ki a stderr-re és összeomlanak.

Egyéb figyelemre méltó változások a következők:

  • Az API új része átkerült a stabilba, beleértve a stabilizált módszereket és tulajdonságmegvalósításokat
  • A "const" attribútum, amely meghatározza, hogy konstansok helyett bármilyen környezetben használható legyen, a VecDeque::new-ban használatos.
  • Az Android platformhoz most legalább NDK r25 (API 19) szükséges, vagyis a minimálisan támogatott Android verziót 4.4-re (KitKat) emelték.
  • Megvalósult a Sony PlayStation Vita platform harmadik támogatási szintje (armv7-sony-vita-newlibeabihf).
  • A harmadik szint alapvető támogatást foglal magában, de automatikus tesztelés, hivatalos buildek közzététele és a kód fordíthatóságának ellenőrzése nélkül.

Ha többet szeretnél megtudni, a részleteket az alábbi linken találod .

Végül, azok számára, akik a Rust korábbi, a rustupon keresztül telepített verziójáról szeretnének frissíteni , a Rust 1.68.0 új verziója a következőképpen szerezhető be:

rustup update stable


Hozzáadás előnyben részesített forrásként a Google-ben