手机版
你好,游客 登录 注册
背景:
阅读新闻

Rust 1.31.0 和 Rust 2018 稳定版一起发布

[日期:2018-12-09] 来源:Linux公社  作者:醉落红尘 [字体: ]

Rust 1.31.0和Rust 2018编程语言已在的官方博客中宣布发布。 Rust 1.31.0是Rust 2018的第一个稳定版本,此版本中的许多功能现在都很稳定。

Rust 2018

Rust 2018带来了Rust团队自2015年以来一直在做的所有工作,以创建一个有凝聚力的包。这不仅仅是语言功能,还包括工具,文档,域工作组工作和新网站。

每个Rust包都可以使用Rust 2015或Rust 2018,它们可以无缝地协同工作。 Rust 2018中的项目可以使用2015年的依赖项,2015项目可以使用2018项依赖项。这样做是为了使生态系统不分裂。新功能是选择加入以保持现有代码的兼容性。

非词汇生命

非词汇生命周期或NLL只是意味着借用检查器现在更聪明,并接受一些之前被它拒绝的有效代码。

模块系统变化

Rust新手对其模块系统进行了斗争。即使有简单而一致的规则来定义模块系统,它们的后果也会出现不一致,违反直觉和神秘的后果。因此Rust 2018引入了一些路径工作方式的变化。这些变化最终简化了模块系统,现在可以更清晰地了解模块系统中发生了什么。

更多终身省略规则

添加了一些额外的impl块和函数定义的省略规则。例如:

impl Reader for BufReader {

    // methods go here

}

This can now be written like this:

impl Reader for BufReader {

    // methods go here

}

生命周期仍然需要在结构中定义。但现在不再需要像以前那样多的样板了。

const fn

在Rust中定义函数的方法有很多种。

  • fn的常规功能
  • 具有不安全fn的不安全功能
  • 具有extern fn的外部函数

Rust 1.31增加了一种限定函数的新方法:const fn。

Rust的 1.31新工具

从版本1.0开始,像Cargo,Rustdoc和Rustup这样的工具在Rust中至关重要。在Rust 2018中,为所有用户准备了新一代工具 -

  • Clippy: Rust’s linter。
  • Rustfmt: 用于格式化Rust代码的工具。
  • IDE 支持: 现在支持Rust,如Visual Studio Code,IntelliJ,Atom,Sublime Text 3,Eclipse。

Tool lints

“工具属性”,如#[rustfmt :: skip]在Rust 1.30中稳定下来。在Rust 1.31中,“工具lints”,如#[allow(clippy :: bool_comparison)]正在稳定下来。这些为lints提供了命名空间,使他们的原始工具更加清晰。

“tool attributes”, 如 #[rustfmt::skip] 在Rust 1.30中稳定下来. 在 Rust 1.31中, “tool lints,” 如 #[allow(clippy::bool_comparison)]正在稳定下来。 这些为lints提供了命名空间,使他们的原始工具更加清晰。

其他补充

除了语言本身的变化外,其他领域也有变化。

Documentation:“Rust编程语言”一书已被重写。

Domain working groups:引入了四个新的域工作组 - 网络服务,命令行应用程序,WebAssembly,嵌入式设备。

新网站:Rust 2018的网站有了新的版本。

库稳定性:添加了一些From实现来稳定库。

Cargo 更改:在Rust 1.31 Cargo中将使用HTTP/2并行下载包。

Rust 的详细介绍请点这里
Rust 的下载地址请点这里

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-12/155752.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款