A Rust 1.88.0 megérkezett

6/10
Ez a kiadás nem hoz forradalmi változást a nyelv használatában vagy működésében, de stabilizál egy sor hasznos új nyelvi és eszközszintű funkciót. A let_chains bevezetése a Rust 2024 edition részeként javítja az olvashatóságot, a naked függvények lehetővé teszik a low-level programozást, a Cargo automatikus cache-tisztítása pedig valódi kényelmi és karbantartási előny. Ezek értékesek a fejlesztők számára, de nem követelnek azonnali frissítést, és nem kritikusak biztonság vagy stabilitás szempontjából

A Rust csapata örömmel jelenti be az új, 1.88.0 verziót, amelyet 2025. június 26-án adtak ki. A Rust továbbra is olyan programozási nyelv, amely megbízható és hatékony szoftverek fejlesztésére ad lehetőséget. A korábbi verziót használók a megszokott rustup update stable paranccsal léphetnek át az új kiadásra, míg az újak a hivatalos weboldalon keresztül telepíthetik a rustupot. A részletes változáslista a kiadási jegyzetekben elérhető, és az érdeklődők a béta vagy nightly csatornát is kipróbálhatják (rustup default beta vagy rustup default nightly), hogy időben jelezzék az esetleges hibákat.

A Rust 1.88.0 megérkezett

Nyelvi újítások: let_chains, naked functions és boolean cfg

Az 1.88.0 stabilizál több, korábban kísérletinek számító nyelvi fejlesztést. Bevezetik a let chains funkciót, amely lehetővé teszi a let utasítások láncolását if és while feltételekben, így egyszerűsödnek az összetett feltételes kifejezések. Például:

if let Channel::Stable(v) = release_info()

    && let Semver { major, minor, .. } = v

    && major == 1

    && minor == 88

{

    println!("`let_chains` was stabilized in this version");

}

A naked functions segítségével a fejlesztő teljes kontrollt kap a függvény assembly-leírása fölött, eltávolítva a fordító által generált proloxot és epiloxot:

#[unsafe(naked)]

pub unsafe extern "sysv64" fn wrapping_add(a: u64, b: u64) -> u64 {

    core::arch::naked_asm!(

        "lea rax, [rdi + rsi]",

        "ret"

    );

}

Továbbá a cfg(true) és cfg(false) boolean literálok mostantól natívan használhatók a konfigurációs feltételekben, így világosabbá válik a feltételes kód engedélyezése vagy tiltása.

Cargo automatikus cache-ritkítás és API stabilizáció

A Cargo új verziója immár automatikus szemétgyűjtést végez a cache könyvtárban: a hálózatról letöltött csomagokat 3 hónap, a helyieket pedig 1 hónap inaktivitás után eltávolítja. Ez a változás az 1.78-as verzió óta gyűjtött hozzáférési adatokat használja, így elkerülhető a túl gyakori újratöltés. Akik régebbi Cargo verziókat is használnak, beállíthatják a cache.auto-clean-frequency = "never" opciót, hogy kontrollálják a törlést.

Ez a verzió emellett stabilizál több fontos API-t is, köztük olyanokat, mint a Cell::update, HashMap::extract_if, proc_macro::Span::line/column/start/end/file/local_file, valamint számos as_chunks és as_rchunks metódust, továbbá konstans kontextusban használhatóvá váltak több Cell és pointer funkciók.

i686 platform átsorolás és további változások

Az i686-pc-windows-gnu platformot átsorolták Tier 2-be, ami hosszabb távon kevesebb tesztelést jelent. A Rust fejlesztők emellett frissítették a lint- és a hiányos #[bench] attribútumokat – például az implicit pointer-átalakítást figyelő dangerous_implicit_autorefs mostantól értesítés szintű, de később tiltássá emelkedhet. Részletek a hivatalos blogon és a GitHubon található kiadási jegyzetekben (blog.rust-lang.org, doc.rust-lang.org, releases.rs).