服务器之家:专注于服务器技术及软件下载分享
分类导航

服务器资讯|IT/互联网|云计算|区块链|软件资讯|操作系统|手机数码|百科知识|免费资源|头条新闻|

服务器之家 - 新闻资讯 - 软件资讯 - Rust 1.46.0 发布

Rust 1.46.0 发布

2020-08-28 21:33开源中国 软件资讯

Rust 1.46.0 发布了,此版本带来了以下更新内容: 改进 const fn 现在可以在 const fn 中使用几种核心语言功能: if,if let, andmatch while,while let, andloop theand||operators 还可以转换为 slice: 这些功能可能并不新鲜,但鉴于你可以在 const fn 之外

Rust 1.46.0 发布了,此版本带来了以下更新内容:

改进 const fn

现在可以在 const fn 中使用几种核心语言功能:

  • if,if let, andmatch
  • while,while let, andloop
  • the&&and||operators

还可以转换为 slice:

Rust 1.46.0 发布

这些功能可能并不新鲜,但鉴于你可以在 const fn 之外使用所有功能,它们增加了很多编译时计算能力。例如,const-sha1crate 可以让你在编译时计算 SHA-1 哈希值。这使 Microsoft 的Rust WinRT绑定性能提高了 40 倍。

#[track_caller]

#[track_caller] 属性最早于 2017 年提出。如果你正在编写类似 unwrap 之类可能会引发 panic 的功能,则可以将此注释放在函数上,默认的 panic 格式化程序将使用其调用方作为错误消息中的位置。例如,这是之前的unwrap:

Rust 1.46.0 发布

现在:

Rust 1.46.0 发布

如果你自己实现了 panic 挂钩,也可以在 std::panic::Location 上使用调用方方法(caller method)来访问此信息。

Library changes

与 const fn 改进的主题保持一致,std::mem::forget 现在也是一个 const fn。此外,此版本还稳定了两个新的 API:

  • Option::zip
  • vec::Drain::as_slice

更新说明:

https://blog.rust-lang.org/2020/08/27/Rust-1.46.0.html

延伸 · 阅读

精彩推荐