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