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

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

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

查看所有标签

猜你喜欢:

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

O2O

O2O

张波 / 机械工业出版社华章公司 / 2013-2-5 / 49.00元

2012年是O2O元年,无论是成熟的传统企业、如火如荼的电子商务企业,还是以电信、银行、娱乐等为代表的与民生相关的企业,都在探索和践行O2O模式,因为O2O中孕育着极富创新性的商业模式。本书是国内首部O2O方面的著作,不仅宏观上叙述了O2O的概念、在各行业的应用情况,以及未来的发展趋势,而且还系统阐述和解读了各行业如何借助O2O来顺利实现商业模式的转型和升级;不仅极富洞察力地分析了O2O在营销、支......一起来看看 《O2O》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

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

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具