about summary refs log tree commit diff
path: root/src/test/compile-fail/liveness-move-in-while.rs
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2012-05-19 05:52:01 -0700
committerNiko Matsakis <niko@alum.mit.edu>2012-05-24 09:52:03 -0700
commit30b47649ea37d211ee2dec4c541e6ba1e64c31a8 (patch)
treeb6b5825a2711f7911bd64bd1e505d44253d4e256 /src/test/compile-fail/liveness-move-in-while.rs
parenta3be0b105436118e187ea52deb89788afaf1edb5 (diff)
downloadrust-30b47649ea37d211ee2dec4c541e6ba1e64c31a8.tar.gz
rust-30b47649ea37d211ee2dec4c541e6ba1e64c31a8.zip
new liveness pass to supercede last_use / initedness
Diffstat (limited to 'src/test/compile-fail/liveness-move-in-while.rs')
-rw-r--r--src/test/compile-fail/liveness-move-in-while.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/test/compile-fail/liveness-move-in-while.rs b/src/test/compile-fail/liveness-move-in-while.rs
new file mode 100644
index 00000000000..6acbc5a9f35
--- /dev/null
+++ b/src/test/compile-fail/liveness-move-in-while.rs
@@ -0,0 +1,11 @@
+fn main() {
+
+    let y: int = 42;
+    let mut x: int;
+    loop {
+        log(debug, y);
+        while true { while true { while true { x <- y; } } }
+        //!^ ERROR use of moved variable: `y`
+        //!^^ NOTE move of variable occurred here
+    }
+}