]> 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 9d234e0aaa6328073ce3c9aabe13dec9aaf7ff3f..049bec3d37bef9a4c32d3f634b7fb9141623e274 100644 (file)
@@ -8,14 +8,9 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-pretty -- comments are unfaithfully preserved
-
 #![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.
 
@@ -24,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 = ~3;
-    let mut b = ~4;
-    let mut w = &*a;
-    match 22 {
-        _ if cond() => {
-            b = ~5;
-        }
-
-        _ if link(&*b, &mut w) => {
-            b = ~6; //~ ERROR cannot assign
-        }
-
-        _ => {
-            b = ~7; //~ ERROR cannot assign
-        }
-    }
-
-    b = ~8; //~ ERROR cannot assign
-}
-
 fn main() {}