]> git.lizzy.rs Git - rust.git/blobdiff - src/test/compile-fail/borrowck-lend-flow-match.rs
auto merge of #15999 : Kimundi/rust/fix_folder, r=nikomatsakis
[rust.git] / src / test / compile-fail / borrowck-lend-flow-match.rs
index 6b875ff268dd8dd3926423204b3e7f5378b6a24b..049bec3d37bef9a4c32d3f634b7fb9141623e274 100644 (file)
@@ -11,9 +11,6 @@
 #![allow(unused_variable)]
 #![allow(dead_assignment)]
 
-fn cond() -> bool { fail!() }
-fn link<'a>(v: &'a uint, w: &mut &'a uint) -> bool { *w = v; true }
-
 fn separate_arms() {
     // Here both arms perform assignments, but only is illegal.
 
@@ -22,37 +19,13 @@ fn separate_arms() {
         None => {
             // It is ok to reassign x here, because there is in
             // fact no outstanding loan of x!
-            x = Some(0);
+            x = Some(0i);
         }
         Some(ref _i) => {
-            x = Some(1); //~ ERROR cannot assign
+            x = Some(1i); //~ ERROR cannot assign
         }
     }
     x.clone(); // just to prevent liveness warnings
 }
 
-fn guard() {
-    // Here the guard performs a borrow. This borrow "infects" all
-    // subsequent arms (but not the prior ones).
-
-    let mut a = box 3;
-    let mut b = box 4;
-    let mut w = &*a;
-    match 22 {
-        _ if cond() => {
-            b = box 5;
-        }
-
-        _ if link(&*b, &mut w) => {
-            b = box 6; //~ ERROR cannot assign
-        }
-
-        _ => {
-            b = box 7; //~ ERROR cannot assign
-        }
-    }
-
-    b = box 8; //~ ERROR cannot assign
-}
-
 fn main() {}