diff options
Diffstat (limited to 'tests/ui/liveness/liveness-dead.rs')
-rw-r--r-- | tests/ui/liveness/liveness-dead.rs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/ui/liveness/liveness-dead.rs b/tests/ui/liveness/liveness-dead.rs new file mode 100644 index 000000000..004663c85 --- /dev/null +++ b/tests/ui/liveness/liveness-dead.rs @@ -0,0 +1,39 @@ +#![allow(dead_code)] +#![deny(unused_assignments)] + +fn f1(x: &mut isize) { + *x = 1; // no error +} + +fn f2() { + let mut x: isize = 3; //~ ERROR: value assigned to `x` is never read + x = 4; + x.clone(); +} + +fn f3() { + let mut x: isize = 3; + x.clone(); + x = 4; //~ ERROR: value assigned to `x` is never read +} + +fn f4(mut x: i32) { //~ ERROR: value passed to `x` is never read + x = 4; + x.clone(); +} + +fn f5(mut x: i32) { + x.clone(); + x = 4; //~ ERROR: value assigned to `x` is never read +} + +// #22630 +fn f6() { + let mut done = false; + while !done { + done = true; // no error + continue; + } +} + +fn main() {} |