rust/src/test/ui/lifetimes/lifetime-errors/liveness-assign-imm-local-notes.rs

45 lines
937 B
Rust
Raw Normal View History

// FIXME: Change to UI Test
2018-08-19 08:30:23 -05:00
// Check notes are placed on an assignment that can actually precede the current assignment
// Don't emit a first assignment for assignment in a loop.
// compile-flags: -Zborrowck=compare
fn test() {
let x;
if true {
x = 1;
} else {
x = 2;
x = 3; //~ ERROR (Ast) [E0384]
//~^ ERROR (Mir) [E0384]
}
}
fn test_in_loop() {
loop {
let x;
if true {
x = 1;
} else {
x = 2;
x = 3; //~ ERROR (Ast) [E0384]
//~^ ERROR (Mir) [E0384]
}
}
}
fn test_using_loop() {
let x;
loop {
if true {
x = 1; //~ ERROR (Ast) [E0384]
//~^ ERROR (Mir) [E0384]
} else {
x = 2; //~ ERROR (Ast) [E0384]
//~^ ERROR (Mir) [E0384]
}
}
}
fn main() {}