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