Closed
Description
Subset of #63502
When encountering
#![feature(async_await)]
use std::io::Error;
fn make_unit() -> Result<(), Error> {
Ok(())
}
fn main() {
let fut = async {
make_unit()?;
Ok(())
};
}
Do not suggest "consider giving fut
the explicit type impl std::future::Future
, with the type parameters specified ", as introduced in #61361, when encountering impl Trait
:
rust/src/librustc/infer/error_reporting/need_type_info.rs
Lines 140 to 169 in 60960a2
Also, the case for closures (CC #46680):
error[E0282]: type annotations needed for `[closure@src/main.rs:3:13: 6:6]`
--> src/main.rs:4:9
|
3 | let x = || {
| - consider giving `x` the explicit type `[closure@src/main.rs:3:13: 6:6]`, with the type parameters specified
4 | Err(())?;
| ^^^^^^^^ cannot infer type
Metadata
Metadata
Assignees
Labels
Area: Messages for errors, warnings, and lintsArea: Type inferenceArea: Suggestions generated by the compiler applied by `cargo fix`Category: This is a bug.Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.Medium priorityRelevant to the compiler team, which will review and decide on the PR/issue.