# Steps to fix the https://github.com/rust-lang/rust/issues/80658 - [ ] Move the error message: - from: ``` 4 | async_fn() | ^^^^^^^^^^ expected u8, found opaque type ``` - to: ``` 4 | async_fn() | ^^^^^^^^^^ expected `u8`, found future ``` - [x] move the note message: - from: ``` note: while checking the return type of the `async fn` --> test.rs:2:28 | 2 | async fn async_fn() -> u8 { 22 } | ^^ checked the `Output` of this `async fn`, found opaque type = note: expected type `u8` found opaque type `impl Future<Output = u8>` ``` - to: ``` 2 | async fn async_fn() -> u8 { 22 } | ----- calling an async function returns a future ``` - [ ] this is missing some love to get the function signature span from the function call, [here](https://rust-lang.zulipchat.com/#narrow/stream/147480-t-compiler.2Fwg-diagnostics/topic/how.20to.20get.20the.20span.20of.20the.20function.20declaration) a possible discussion to solve the problem