在Rust异步块中,当发生返回错误的时,会是怎么样的呢?本节就这个知识点进行讲解。
示例
- 源码
use futures;
async fn foo() {
"foo"
}
fn main() {
futures::executor::block_on(foo());
}
- 配置文件
[dependencies]
futures = "0.3"
此示例报错如下:
error[E0308]: mismatched types
--> src/main.rs:20:2
|
20 | "foo"
| ^^^^^ expected `()`, found `&str`
error: aborting due to previous error
在原书中的例子会出现相反的错误,很显然,该bug已经解决。