这样做可能吗?如果不行,为什么?
我收到了这个错误信息:
use std::error::Error;
use std::io::{self, Read};
fn main() {
if let Err(e) = foo() {
println!("Error: {}", e);
}
}
fn foo() -> Result<(), impl Error> {
let mut buffer = String::new();
io::stdin().read_to_string(&mut buffer)?;
let _: i32 = buffer.parse()?;
Ok(())
}
我收到了这个错误信息:
error[E0282]: type annotations needed
--> src/main.rs:10:24
|
10 | fn foo() -> Result<(), impl Error> {
| ^^^^^^^^^^ cannot infer type for `_`