Add test for for loop maybe initializing binding

This commit is contained in:
Esteban Küber 2022-06-22 11:26:08 -07:00
parent 95923d1676
commit 8ab1cd9fdc
2 changed files with 20 additions and 0 deletions

View File

@ -0,0 +1,7 @@
fn f() -> isize {
let mut x: isize;
for _ in 0..0 { x = 10; }
return x; //~ ERROR E0381
}
fn main() { f(); }

View File

@ -0,0 +1,13 @@
error[E0381]: used binding `x` is possibly-uninitialized
--> $DIR/borrowck-for-loop-uninitialized-binding.rs:4:12
|
LL | let mut x: isize;
| ----- binding declared here but left uninitialized
LL | for _ in 0..0 { x = 10; }
| ---- if the `for` loop runs 0 times, `x` is not initialized
LL | return x;
| ^ `x` used here but it is possibly-uninitialized
error: aborting due to previous error
For more information about this error, try `rustc --explain E0381`.