在Rust異步塊中,當(dāng)發(fā)生返回錯誤的時,會是怎么樣的呢?本節(jié)就這個知識點(diǎn)進(jìn)行講解。
示例
- 源碼
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
在原書中的例子會出現(xiàn)相反的錯誤,很顯然,該bug已經(jīng)解決。