Rust 1.68 帶來支持改進等

銹

Rust 是一種編譯型編程語言,支持純函數式、過程式、命令式和麵向對象編程。

最近 宣布發布新版編程語言“Rust 1.68”。 對於那些不熟悉 Rust 的人,您應該知道這種編程語言是由 Mozilla 項目創建的,但現在是在獨立的非營利性 Rust 基金會的讚助下開發的。

語言e 專注於內存安全 並提供實現高作業並行性的方法,同時避免使用垃圾收集器和運行時(運行時減少為標準庫的基本初始化和維護)。

Rust 的內存管理方法使開發人員在操作指針時避免錯誤,並防止由於低級內存操作而出現的問題,例如在內存區域被釋放後訪問它、取消引用空指針、內存溢出等。緩衝區等為了分發庫、提供構建和管理依賴項,該項目開發了 Cargo 包管理器。

還提供防止整數溢出的保護, 需要在使用前強制初始化變量值,更好地處理標準庫中的錯誤,默認強制執行不可變變量和引用的概念,提供強靜態類型以最大限度地減少邏輯錯誤。

Rust 1.68 的主要新特性

在這個來自 Rust 1.68 的新版本中,我們可以發現 Cargo 包管理器對 Sparse 協議的支持已經穩定 和 crates.io 存儲庫,它 定義了一種使用反映可用版本的索引的新方法 存儲庫中所有現有包的。

新協議可以顯著提高使用 crates.io 的速度,並通過進一步增加存儲庫中的包數量來解決擴展問題。

減少因下載索引而導致的延遲 充分, ,而不是通過 Git 訪問索引, 僅通過 HTTPS 直接下載索引數據 必要的,涵蓋特定項目的依賴項。 要返回索引數據,需要使用新服務 index.crates.io。

默認, 新協議計劃用於 Rust 1.70 分支,在此之前,要啟用它,您可以設置環境變量“CARGO_REGISTRIES_CRATES_IO_PROTOCOL=稀疏» 或添加參數 '協議=稀疏' 歸檔 .cargo/config.toml.

另一個突出的變化是並添加了宏 » pin! «允許您創建 Pin<&mut T> 結構 來自“T”表達式及其狀態的本地固定(與 Box::pin 不同,它不在堆上分配內存,而是在堆棧級別綁定)。

除此之外,我們還可以發現 提出了默認的內存分配錯誤處理程序, 在使用標準映射包時使用。

僅啟用的應用程序 alloc(不是 std)現在將調用控制器“panic!” 在內存分配失敗的情況下,可以選擇用“#[panic_handler]”攔截。 使用 std 庫的程序仍然會向 stderr 打印錯誤信息並失敗。

其他變化 脫穎而出:

  • API 的新部分已移至穩定版,包括已穩定的方法和特徵實現
  • “const”屬性決定了在任何上下文中使用它而不是常量的可能性,在 VecDeque::new 中使用。
  • Android 平台現在至少需要 NDK r25 (API 19),即支持的最低 Android 版本已提高到 4.4 (KitKat)。
  • 已實現對 Sony PlayStation Vita 平台 (armv7-sony-vita-newlibeabihf) 的第三級支持。
  • 第三層涉及基礎支持,但沒有自動化測試、發布官方構建和驗證代碼的可編譯性。

如果你是 有興趣了解更多關於它的信息, 您可以在中查看詳細信息 以下鏈接。

最後,對於那些 有興趣從以前版本的 Rust 升級 通過 rustup 安裝,你可以通過以下方式獲得新版本的 Rust 1.68.0:

rustup update stable


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。