Rust 1.43 編程語言發布

發表 系統程式語言發布 銹1.43,由 Mozilla 專案創建。 該語言專注於記憶體安全,提供自動記憶體管理,並提供在不使用垃圾收集器和 運行.

Rust 的自動記憶體管理使開發人員免於指標操作,並防止低階記憶體操作所造成的問題,例如釋放後記憶體存取、空指標取消引用、緩衝區溢位等。 正在開發一個套件管理器來分發庫、確保組裝並管理專案的依賴關係。 貨物,讓您一鍵取得程式所需的庫。 支援儲存庫來託管庫 箱子.

主要的 創新:

  • 巨集提供了使用元素片段將其轉換為特徵(trait)、實現(impl)或外部區塊的程式碼的能力。 例如:

    宏規則! mac_trait {
    ($i:項目) => {
    特質 T { $i }
    }
    }
    mac_trait! {
    fn foo() {}
    }

    將導致生成:

    特質 T {
    fn foo() {}
    }

  • 改進了原語、引用和二進位操作的類型檢測。
    例如,以下程式碼以前會導致錯誤,現在可以編譯(Rust 現在可以正確確定 0.0 和 &0.0 必須是 f32 類型):

    令 n: f32 = 0.0 + &0.0;

  • Cargo 中新增了一個新的環境變數 CARGO_BIN_EXE_{name},該變數在建立整合測試時設置,並允許您確定套件的「[[bin]]」部分中定義的可執行檔案的完整路徑。
  • If 語句允許使用「#[cfg()]」等屬性。
  • 該函式庫提供了直接將關聯常數用於整數和小數類型的能力,而無需導入模組。 例如,您可以立即寫入 u32::MAX 或 f32::NAN,而無需先指定「use std::u32」和「use std::f32」。
  • 新增了新模組 原始,它會重新匯出 Rust 原始類型,例如當您需要編寫巨集並確保類型不隱藏時。
  • 新的部分 API 已轉移到穩定類別,包括穩定的

    一旦::is_completed,
    f32::LOG10_2,
    f32::LOG2_10,
    f64::LOG10_2,
    f64::LOG2_10 和
    迭代器::once_with。

來源: opennet.ru

添加評論