我有这个(非常简化的)功能:
fn get_a_b() -> Result<(), impl std::fmt::Display> {
env::current_dir()?;
File::open("bad-dir")?;
Ok(())
}
但I get this error pointing to Display
:
error[E0282]: type annotations needed
--> src/main.rs:12:28
|
12 | fn get_a_b() -> Result<(), impl std::fmt::Display> {
| ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
我认为这是因为我需要以某种方式定义Display
(?)内的内容,但是如果我只需要显示它(println!
),那我就不能这么说吗我所知道的是它实现了Display
并且就这样了吗?
函数失败的方法有很多(它执行了许多io
以及一些serde
解析),所以我没有一个我知道的类型我可以给它。