Vincenzo Palazzo
2bdc9a046a
fix: improve the suggestion on future not awaited
...
Considering the following code
```rust
fn foo() -> u8 {
async fn async_fn() -> u8 { 22 }
async_fn()
}
fn main() {}
```
the error generated before this commit from the compiler is
```
➜ rust git:(macros/async_fn_suggestion) ✗ rustc test.rs --edition 2021
error[E0308]: mismatched types
--> test.rs:4:5
|
1 | fn foo() -> u8 {
| -- expected `u8` because of return type
...
4 | async_fn()
| ^^^^^^^^^^ expected `u8`, found opaque type
|
= note: expected type `u8`
found opaque type `impl Future<Output = u8>`
help: consider `await`ing on the `Future`
|
4 | async_fn().await
| ++++++
error: aborting due to previous error
```
In this case the error is nor perfect, and can confuse the user
that do not know that the opaque type is the future.
So this commit will propose (and conclude the work start in
https://github.com/rust-lang/rust/issues/80658 )
to change the string `opaque type` to `future` when applicable
and also remove the Expected vs Received note by adding a more
specific one regarding the async function that return a future type.
So the new error emitted by the compiler is
```
error[E0308]: mismatched types
--> test.rs:4:5
|
1 | fn foo() -> u8 {
| -- expected `u8` because of return type
...
4 | async_fn()
| ^^^^^^^^^^ expected `u8`, found future
|
note: calling an async function returns a future
--> test.rs:4:5
|
4 | async_fn()
| ^^^^^^^^^^
help: consider `await`ing on the `Future`
|
4 | async_fn().await
| ++++++
error: aborting due to previous error
```
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2023-02-13 16:23:23 +01:00
..
2023-01-19 15:46:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-07 08:52:15 +01:00
2023-02-13 16:23:23 +01:00
2023-02-13 16:23:23 +01:00
2023-01-15 19:46:20 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-30 20:12:19 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-02-09 10:26:49 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-12 11:58:24 -08:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-13 16:23:23 +01:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-13 16:23:23 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-13 16:23:23 +01:00
2023-02-13 16:23:23 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 20:10:17 +00:00
2023-01-19 21:09:25 +01:00
2023-01-19 21:09:25 +01:00
2023-01-27 20:10:17 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-15 19:46:20 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-15 19:46:20 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 18:58:13 +00:00
2023-01-30 21:51:35 +00:00
2023-02-13 16:23:23 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-19 15:46:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-02 05:49:07 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-30 20:12:19 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 20:10:17 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-13 16:23:23 +01:00
2023-01-11 09:32:08 +00:00
2023-02-13 16:23:23 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 18:58:13 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00