日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Rust 1.31正式发布,首次引入Rust 2018新功能

發布時間:2024/4/13 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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可以借用檢查器查看變量的實際生命周期而不必將其綁定到詞法作用域。
fn main() {? ??? ? let mut x = 5;? ??? ? let y = \u0026amp;x;? ? ? ?// In Rust 2018, y lifetime ends here,? ? let z = \u0026amp;mut x;? ?// so this is ok.? }
  • 模塊路徑清晰度,旨在簡化使用Rust模塊系統的方式,包括extern crate用法的改變、簡化模塊路徑,等等。
  • const fn,可以被用于任意常量上下文中,并在編譯時進行求值。常量函數可以包括算術或布爾運算、調用其他常量函數等,但比正常函數具有更多的限制。Rust 2015中也提供了常量函數。
? const fn foo(x: i32) -\u0026gt; i32 {? ? x + 1? }? const SIX: i32 = foo(5);

不過,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新功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。