Rust 1.69 programozási nyelv kiadás

Megjelent a Mozilla projekt által alapított, de immár a Rust Foundation független non-profit szervezet égisze alatt kifejlesztett Rust 1.69 általános célú programozási nyelv. A nyelv a memória biztonságára összpontosít, és biztosítja az eszközöket a munka magas párhuzamosságának eléréséhez, miközben elkerüli a szemétgyűjtő és a futási időt (a futásidő a szabványos könyvtár alapvető inicializálására és karbantartására csökken).

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óriakezelésből adódó problémáktól, mint például a memóriaterület elérése annak felszabadítása után, a nulla mutatók hivatkozásának megszüntetése, a puffertúllépések 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 crates.io tároló támogatja a könyvtárak tárolását.

A memóriabiztonságot a Rust a fordítási időben biztosítja a referenciaellenőrzés, az objektumok tulajdonjogának nyomon követése, az objektumok élettartamának (hatóköreinek) nyomon követésével és a memória-hozzáférés helyességének értékelésével a kód végrehajtása során. A Rust védelmet nyújt az egész számok túlcsordulása ellen is, megköveteli a változó értékek kötelező inicializálását használat előtt, jobban kezeli a hibákat a szabványos könyvtárban, alapértelmezés szerint alkalmazza a megváltoztathatatlan hivatkozások és változók koncepcióját, erős statikus gépelést kínál a logikai hibák minimalizálása érdekében.

Főbb újítások:

  • A Cargo csomagkezelő mostantól azonosítja az automatikusan megoldható figyelmeztetéseket, és ennek megfelelően a "cargo fix" vagy a "cargo clippy --fix" futtatását javasolja. warning: unused import: 'std::hash::Hash' --> src/main.rs:1:5 | 1 | use std::hash::Hash; | ^^^^^^^^^^^^^^^^^^ | = note: '#[warn(unused_imports)]' on by default warning: 'foo' (bin "foo") 1 figyelmeztetést generált (futtassa a 'cargo fix --bin "foo"' parancsot 1 javaslat alkalmazásához)
  • A Cargo mostantól javaslatot jelenít meg a „cargo add” parancs használatára, amikor a „cargo install” paranccsal próbálunk telepíteni egy könyvtárat.
  • A fordítási idő csökkentése érdekében a hibakeresési információk a build szkriptekben alapértelmezés szerint le vannak tiltva. Ez a változás nem okoz látható különbségeket a build szkriptek sikeres futtatásakor, de hibák esetén a visszakövetési memória kevesebb információt fog tartalmazni. Az előző viselkedéshez való visszatéréshez add hozzá a következőt a Cargo.toml fájlhoz: [profile.dev.build-override] debug = true [profile.release.build-override] debug = true
  • Az API új része átkerült a stabil kategóriába, beleértve a tulajdonságok módszereit és megvalósításait is:
    • CStr::from_bytes_until_null
    • core::ffi::FromBytesUntilNulError
  • A "const" attribútum, amely meghatározza, hogy konstansok helyett bármilyen környezetben használható, a függvényekben használatos:
    • SocketAddr::új
    • SocketAddr::ip
    • SocketAddr::port
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4::new
    • SocketAddrV4::ip
    • SocketAddrV4::port
    • SocketAddrV6::new
    • SocketAddrV6::ip
    • SocketAddrV6::port
    • SocketAddrV6::flowinfo
    • SocketAddrV6::scope_id
  • Hozzáadva a igaz és hamis jelzők használatának lehetősége a fordító argumentumokban.

Forrás: opennet.ru

Vásároljon megbízható tárhelyet DDoS védelemmel, VPS VDS szerverekkel rendelkező webhelyekhez 🔥 Vásároljon megbízható weboldal tárhelyet DDoS védelemmel, VPS VDS szerverekkel | ProHoster