Rust 1.69 編程語言發布

Rust 1.69 通用編程語言的發布已經發布,該語言由 Mozilla 項目創建,但現在由獨立的非營利組織 Rust 基金會贊助開發。 該語言專注於內存安全,並提供實現高作業並行性的方法,同時避免使用垃圾收集器和運行時(運行時減少為標準庫的基本初始化和維護)。

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

Rust 在編譯時通過引用檢查、跟踪對象所有權、跟踪對像生命週期(範圍)以及評估代碼執行期間內存訪問的正確性來提供內存安全。 Rust 還提供防止整數溢出的保護,要求在使用前強制初始化變量值,更好地處理標準庫中的錯誤,默認應用不可變引用和變量的概念,提供強靜態類型以最小化邏輯錯誤。

主要創新:

  • Cargo 包管理器實現了對可自動解決的警告的檢測以及運行“cargo fix”或“cargo Clippy --fix”的適當建議。 警告:未使用的導入:'std::hash::Hash' --> src/main.rs:1:5 | 1 | 使用 std::hash::hash; | ^^^^^^^^^^^^^^^^ | = 注意:'#[warn(unused_imports)]' 默認開啟警告:'foo' (bin "foo") 生成 1 個警告(運行 'cargo fix --bin "foo"' 以應用 1 個建議)
  • 添加了 Cargo,以在嘗試使用“cargo install”命令安裝庫時顯示使用“cargo add”命令的建議。
  • 為了減少編譯時間,默認情況下禁用構建腳本中的調試信息。 如果構建腳本成功運行,則更改不會產生任何明顯的差異,但如果失敗,回溯轉儲將包含較少的信息。 要將舊行為返回到 Cargo.toml,請添加: [profile.dev.build-override] debug = true [profile.release.build-override] debug = true
  • API 的新部分已移至穩定類別,包括特性的方法和實現已穩定:
    • CStr::from_bytes_until_nul
    • 核心::ffi::FromBytesUntilNulError
  • “const”屬性決定了在任何上下文中使用它而不是常量的可能性,用於函數中:
    • SocketAddr::新
    • 套接字地址::ip
    • SocketAddr::端口
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4::新
    • SocketAddrV4::ip
    • SocketAddrV4::端口
    • SocketAddrV6::新
    • SocketAddrV6::ip
    • SocketAddrV6::端口
    • SocketAddrV6::流信息
    • SocketAddrV6::scope_id
  • 添加了在編譯器參數中使用 true 和 false 標誌的功能。

來源: opennet.ru

添加評論