Rust 1.31正式发布,首次引入Rust 2018新功能
Rust 1.31是第一個實現了Rust 2018獨有新功能并且不保證與現有代碼庫兼容的版本。Rust 2018相關工作正在進行中,而Rust 1.31只是整個三年開發周期的開始,這個開發周期將對這門語言進行重要的擴展。
InfoQ之前已有報道,Rust 2018的目標是打包自上一個主要版本(Rust 2015)以來的所有已經出現的語言變更。此外,Rust 2018將包含一些可能會破壞現有源代碼的變更。比如引入了新的關鍵字,例如try、async、await等,它們可能與變量或函數名稱產生沖突。因此,能夠選擇要使用的語言版本對于編譯現有代碼庫來說非常關鍵。為了實現這種方法,Rust團隊已經在Rust 1.31中一次性地包含了所有重大變化,盡管有些尚未完全實現。例如,他們保留了新關鍵字,但還不起作用,因此試圖使用它們來命名變量或函數的開發人員會收到錯誤。需要指出的是,Rust 2015和2018軟件包可以在同一個程序中共存,這意味著Rust 2018程序可以使用Rust 2015軟件包,反之亦然。
Rust 1.31引入了很多主要語言功能,包括:
- 非詞法生命周期,讓Rust可以借用檢查器查看變量的實際生命周期而不必將其綁定到詞法作用域。
- 模塊路徑清晰度,旨在簡化使用Rust模塊系統的方式,包括extern crate用法的改變、簡化模塊路徑,等等。
- const fn,可以被用于任意常量上下文中,并在編譯時進行求值。常量函數可以包括算術或布爾運算、調用其他常量函數等,但比正常函數具有更多的限制。Rust 2015中也提供了常量函數。
不過,Rust 2018的推出并不意味著Rust 2015已經結束。事實上,Rust團隊計劃將所有不會破壞兼容性的變更向后移植到Rust 2015,盡管這將在稍后的時間點發生。
你可以通過運行rustup update stable來安裝Rust 1.31。要試用Rust 2018功能,你需要在Cargo.toml文件的[package]中指定edition = “2018”。如果沒有提供版本,Rust編譯器將默認使用Rust 2015,以最大化源代碼兼容性。
在一份相關的說明中,Rust團隊還發布了Rust 2018調查結果,旨在衡量用戶對Rust的滿意度,并說明了語言和工具的常見缺點。
查看英文原文:Rust 1.31 Brings the First Rust 2018 Features, Non-lexical Lifetimes and Module Improvements
總結
以上是生活随笔為你收集整理的Rust 1.31正式发布,首次引入Rust 2018新功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ElasticSearch6.5.0 【
- 下一篇: 【重温基础】2.流程控制和错误处理