![]() |
新闻中心
当前位置:网站首页 > 新闻中心
Rust 1.39.0发布 async/.await终于稳定了
Rust 1.39.0 已经发布。此版本的亮点包括 async/.await,对 match 守卫?by-move 绑定的共享引用,以及函数参数的属性。
async/.await 稳定
此版本 async/.await 特性已经稳定,这意味着现在可以定义 async 函数和块,并进行 .await 操作。
async 函数通过 async fn 引入,被调用时会返回一个 Future,该 Future 是一个会挂起的计算,可以使用 .await 运行并完成计算。而除了 async fn,async{} 和 async move{} 块也可以用来定义“异步文字”,它们的行为像闭包。
match 守卫引用 by-move 绑定
在 Rust 中进行模式匹配时,一个变量,也就是“绑定”,可以通过以下方式界定:不可更改或可变地 by-reference。这可以通过诸如ref my_var或ref mut my_var分别明确地实现,在大多数情况下,绑定模式将自动推导。
by-value,或者当绑定变量的类型实现 Copy 时 by-copy,否则?by-move。以往,Rust 将禁止在表达式的保护结构中共享对 match 表达式中 if 守卫的?by-move 绑定的引用,这意味着以下代码将被拒绝:
fn main() {let array: Box
|