銹1.36

開發團隊很高興推出 Rust 1.36!

Rust 1.36 有什麼新功能?
未來特徵穩定,來自新的:alloc crate、 MaybeUninit , Rust 2015 的 NLL,HashMap的新實現以及一個新的標誌 - Cargo 離線。


現在更詳細:

  • 終於在 Rust 1.36 中 穩定的 特質 未來。
  • 板條箱分配。
    從 Rust 1.36 開始,依賴全域分配器的 std 部分(例如 Vec ),位於分配箱內。 現在std將重新匯出這些部分。 有關此的更多信息.
  • 也許單位而不是 mem::uninitialized。
    在先前的版本中,mem::uninitialized 允許您繞過初始化檢查,它用於惰性數組分配,但這個函數非常危險(更多), 這樣 MaybeUninit 類型就穩定了,這樣比較安全。
    好吧,自從 MaybeUninit 是一個更安全的選擇,那麼從 Rust 1.38 開始,mem::uninitialized 將是一個已棄用的功能。
    如果您想了解有關未初始化內存的更多信息,可以閱讀 Alexis Beingessner 的這篇部落格文章。
  • Rust 2015 的 NLL。
    公告中 銹1.31.0 開發人員向我們介紹了 NLL(非詞彙生命週期),這是對語言的改進,使借用檢查器更加聰明、更加用戶友好。 例子:
    fn 主() {
    令 mut x = 5;
    令 y = &x;
    令 z = &mut x; // 在 1.31.0 之前這是不允許的。
    }

    在 1.31.0 中,NLL 僅在 Rust 2018 中工作,開發人員承諾將在 Rust 2015 中新增支援。
    如果您想了解更多關於 NLL 的信息,您可以閱讀更多內容 部落格文章 (菲利克斯·克洛克斯)。

  • Cargo 的新標誌是「離線」。
    Rust 1.36 穩定了 Cargo 的新標誌。 --offline 標誌告訴 Cargo 使用本機快取的依賴項,以便稍後可以離線使用它們。 當必要的依賴項無法離線使用,並且仍然需要互聯網時,Cargo 將傳回錯誤。 為了預先下載依賴項,您可以使用 Cargo fetch 命令,該命令將下載所有依賴項。
  • 這裡 您可以閱讀更詳細的更改概述。

標準庫也有變化:

其他變化 , 貨物 и 大眼夾.

來源: linux.org.ru

添加評論