Open
Description
This is related to #90465.
The problem is code as follows
let x = ...;
let c = move || {
let _ = x;
};
or also
fn foo() {
let x: u32;
let _ = x;
}
The let _ = x
statement in both cases has no effect at all:
- In the first case with the 2021 edition it does not move the
x
into the closure. With the 2018 edition it is moved into the closure however. - In the second case the variable
x
is not even initialized.
As the statement generally has no effect, it would be good to warn if it used like in the above cases. The author of the code probably intended something that the code is not actually doing.