Rust 1.36

A fejlesztőcsapat örömmel bemutatja a Rust 1.36-ot!

Mik újdonságok a Rust 1.36-ban?
Stabilizálva lett a Future trait, és új: az alloc crate, MaybeUninit, NLL a Rust 2015-nek, egy új HashMap megvalósítás, valamint az új —offline flag a Cargo számára.


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:

Egyéb változások Rust, Cargo és Clippy.

Forrás: linux.org.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster