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

栏目: 编程语言 · Rust · 发布时间: 6年前

内容简介:Rust 1.31 是第一个实现了 Rust 2018 独有新功能并且不保证与现有代码库兼容的版本。Rust 2018 相关工作正在进行中,而 Rust 1.31 只是整个三年开发周期的开始,这个开发周期将对这门语言进行重要的扩展。InfoQ 之前已有报道,Rust 2018 的目标是打包自上一个主要版本(Rust 2015)以来的所有已经出现的语言变更。此外,Rust 2018 将包含一些可能会破坏现有源代码的变更。比如引入了新的关键字,例如 try、async、await 等,它们可能与变量或函数名称

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 可以借用检查器查看变量的实际生命周期而不必将其绑定到词法作用域。

复制代码

fnmain() {
    
   letmutx =5;
    
   lety = &x;       // In Rust 2018, y lifetime ends here,
   letz = &mutx;   // so this is ok.
  }
  • 模块路径清晰度,旨在简化使用 Rust 模块系统的方式,包括 extern crate 用法的改变、简化模块路径,等等。
  • const fn,可以被用于任意常量上下文中,并在编译时进行求值。常量函数可以包括算术或布尔运算、调用其他常量函数等,但比正常函数具有更多的限制。Rust 2015 中也提供了常量函数。

复制代码

 constfnfoo(x:i32) ->i32{
    x +1
  }
 constSIX: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 新功能》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C#本质论

C#本质论

米凯利斯 / 周靖 / 人民邮电出版社 / 2010-9 / 99.00元

《C#本质论(第3版)》是一部好评如潮的语言参考书,作者用一种非常合理的方式来组织《C#本质论(第3版)》的内容,由浅人深地介绍了C#语言的各个方面。全书共包括21章及6个附录,每章开头的“思维导图”指明了本章要讨论的主题,以及各个主题之间的层次关系。书中所包含的丰富的示例代码和精要的语言比较,都有助于读者理解C#语言。《C#本质论(第3版)》首先介绍了C#语言的基础知识,随后深人讲解了泛型、迭代......一起来看看 《C#本质论》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具