Rust 1.39.0发布 async/.await终于稳定了
Rust 1.39.0 已经发布。此版本的亮点包括 async/.await,对 match 守卫燽y-move 绑定的共享引用,以及函数参数的属性。
async/.await 稳定
此版本 async/.await 特性已经稳定,这意味着现在可以定义 async 函数和块,并进行 .await 操作。
async 函数通过 async fn 引入,被调用时会返回一个 Future,该 Future 是一个会挂起的计算,可以使用 .await 运行并完成计算。而除了 async fn,async{…} 和 async move{…} 块也可以用来定义“异步文字”,它们的行为像闭包。
match 守卫引用 by-move 绑定
在 Rust 中进行模式匹配时,一个变量,也就是“绑定”,可以通过以下方式界定:
以往,Rust 将禁止在表达式的保护结构中共享对 match 表达式中 if 守卫的燽y-move 绑定的引用,这意味着以下代码将被拒绝:
Rust 1.39 中,上面的代码段现在已被编译器接受,此特性可以为整体的 match 表达式带来更流畅、更一致的体验。
函数参数的属性
现在允许在函数、闭包和函数指针的参数上使用属性。
比如以往这样编写:
现在可以以更简洁的方式:
这里可以使用的属性包括:
这在整个语言生态中提供了一个更具可读性的基于宏的 DSL。
标准库中增加的燾onst fn
此版本中,以下函数成为 const fn:
增加到标准库的函数
以下函数已经稳定:
详情查看更新说明:https://blog.rust-lang.org/2019/11/07/Rust-1.39.0.html
本文原标题:Rust 1.39.0 发布,async/.await 终于稳定了
本文原地址:https://www.oschina.net/news/111214/rust-1-39-0-released