A fejlesztőcsapat örömmel bemutatja a Rust 1.36-ot!
Mik újdonságok a Rust 1.36-ban?
Most nézzük meg részletesebben:
- A Rust 1.36-ban végre stabilizálták a Future trait-et.
- Az alloc crate.
A Rust 1.36-tól kezdve a std azon részei, amelyek a globális allokátortól függenek (például Vec), az alloc crate-ben találhatók. Most a std újraexportálja ezeket a részeket. Többet erről. - MaybeUninit a mem::uninitialized helyett.
A korábbi verziókban a mem::uninitialized lehetővé tette, hogy megkerüljük az inicializálás ellenőrzését, ezt a késleltetett allokáláshoz használták, de ez a funkció meglehetősen veszélyes volt (több részletért), ezért stabilizálták a MaybeUninit típust, amely biztonságosabb.
Mivel a MaybeUninit egy biztonságosabb alternatíva, a Rust 1.38-tól kezdve a mem::uninitialized elavult funkció lesz.
Ha többet szeretne megtudni az inicializálatlan memóriáról, olvassa el a blogbejegyzést (Alexis Beingessner). - NLL a Rust 2015-nek.
A bejelentésben Rust 1.31.0 a fejlesztők meséltek nekünk az NLL-ről (Non-Lexical Lifetime), egy nyelvi fejlesztésről, amely intelligensebbé és felhasználóbarátabbá teszi a borrow checker-t. Példa:
fn main() {
let mut x = 5;
let y = &x;
let z = &mut x; // Ez nem volt megengedett a 1.31.0 előtt.
}A 1.31.0-ban az NLL csak a Rust 2018-ban működött, ígérettel, hogy a fejlesztők támogatást fognak adni a Rust 2015-nek is.
Ha többet szeretne megtudni az NLL-ről, többet olvashat ebben a blogbejegyzésben (Felix Klocks). - Új flag a Cargo számára — —offline.
A Rust 1.36-ban stabilizálták az új flag-et a Cargo számára. Az —offline flag azt mondja a Cargo-nak, hogy használja a helyben gyorsítótárazott függőségeket, hogy később azokat internet nélkül lehessen használni. Amikor a szükséges függőségek nem érhetők el offline, és ha internetre van szükség, a Cargo hibát ad vissza. A függőségek előzetes letöltéséhez használható a cargo fetch parancs, amely letölti az összes függőséget. - Itt többet olvashat a változásokról.
Ezenkívül vannak változások a standard könyvtárban:
- Most a dbg!() makró több argumentumot is elfogadhat.
- Néhány API most const-ként van megjelölve:
- Új stabilizált API-k:
- További változások a standard könyvtárban megtalálhatók itt.
Egyéb változások Rust, Cargo és Clippy.
Forrás: linux.org.ru
