You don't want the safety of your program to depend on whether the compiler emits a warning or not.
And turning warnings into errors just encourages people to write 'let _ = ...' to get rid of the error.
And turning warnings into errors just encourages people to write 'let _ = ...' to get rid of the error.
> And turning warnings into errors just encourages people to write 'let _ = ...' to get rid of the error.
No? writing `let _ = make_future()` will clearly not await the future, why would you do it instead of just adding `.await` ?
Using `let _ = ...` is sometimes fine for Result if you really sure you don't care about the potential error you got but it's a no go with futures.
warning: unused implementer of `Future` that must be used
--> src/main.rs:9:5
|
9 | foo();
| ^^^^^
|
= note: futures do nothing unless you `.await` or poll them
= note: `#[warn(unused_must_use)]` on by default