A Rust 1.99 már elérhető. Az új kiadás jobb együttműködést hoz a C-vel, új lehetőségeket ad a nyers pointerek kezelésére, és ismét több API-t stabilizál a standard könyvtárban.
A legfontosabb újdonság, hogy mostantól közvetlenül Rust-ban is lehet C-kompatibilis variadikus függvényeket definiálni. Ezek olyan függvények, amelyek változó számú paramétert fogadnak, és nagyon gyakoriak a C könyvtárakban és API-kban.
Korábban Rust-ból már lehetett hívni kívül definiált variadikus függvényeket, például a C-s printfet. Az 1.99-es verzióval a fejlesztők már magában Rust-ban is megvalósíthatják az ilyen típusú függvényeket.
Jelentős fejlesztés érinti a nyers pointereket is. A Rust 1.99 új, stabil API-kat vezet be, amelyekkel a fejlesztők méret- és igazítási információkat kérhetnek le nyers pointerekről, beleértve a dinamikus méretű adatokra mutató pointereket is.
A kiadás frissíti a Rust ajánlásait a Box::leak használatával kapcsolatban is. A viselkedés nem változott, de a dokumentáció most már kifejezetten ellenzi, hogy valaki szándékosan memóriát szivárogtasson, majd megpróbálja ugyanazt a lefoglalt memóriát újra felépíteni és felszabadítani.
Ezen felül a Rust 1.99 a standard könyvtár számos API-ját stabilizálja, többek között a vektorok, sztringek, fájlrendszer-időbélyegek, iterátorok és memóriakezelés területén.
A fontosabb újdonságok közé tartoznak az új metódusok, amelyekkel egy Vec foglalását szét lehet bontani az egyes komponenseire, majd később újra össze lehet építeni; a hibás UTF-8 adatok felesleges másolás nélküli feldolgozásának támogatása; valamint új fájlrendszer API-k a fájlok időbélyegeinek módosításához.
A Box-szal csomagolt tömbök szélesebb körű iterátor-támogatást kapnak, a VecDeque pedig új metódust, amellyel a gyűjtemény végétől indulva lehet bejárni és közben elemeket megtartani. Végül a Rust 1.99 további újdonságokat hoz a fordítóban, a Cargo-ban és a Clippy-ben is; a változások teljes listája a hivatalos kiadási jegyzetekben olvasható.
További részletekért nézd meg a hivatalos bejelentést.
Akik már rustup-pal kezelik a Rust-t, a rustup update stable paranccsal végezhetik el a verziófrissítést.

