about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorDavid Wood <david@davidtw.co>2017-12-11 17:29:31 +0000
committerDavid Wood <david@davidtw.co>2017-12-11 22:20:15 +0000
commit3dbc11bc6322a8d337ccdf79464e547abafe7f00 (patch)
treede539b1d41c7334778aed6020eb9c07b865ba1e6 /src
parent00c7a3f4dce52caad94decd820e8cd66a30b3d8d (diff)
downloadrust-3dbc11bc6322a8d337ccdf79464e547abafe7f00.tar.gz
rust-3dbc11bc6322a8d337ccdf79464e547abafe7f00.zip
Updated existing tests with new error messages.
Diffstat (limited to 'src')
-rw-r--r--src/test/compile-fail/borrowck/borrowck-local-borrow-outlives-fn.rs5
-rw-r--r--src/test/compile-fail/borrowck/borrowck-local-borrow-with-panic-outlives-fn.rs5
-rw-r--r--src/test/compile-fail/issue-17954.rs10
-rw-r--r--src/test/compile-fail/region-borrow-params-issue-29793-big.rs4
-rw-r--r--src/test/ui/nll/capture-ref-in-struct.rs2
-rw-r--r--src/test/ui/nll/capture-ref-in-struct.stderr14
-rw-r--r--src/test/ui/nll/closure-requirements/escape-argument.rs2
-rw-r--r--src/test/ui/nll/closure-requirements/escape-argument.stderr16
-rw-r--r--src/test/ui/nll/closure-requirements/escape-upvar-nested.rs4
-rw-r--r--src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr20
-rw-r--r--src/test/ui/nll/closure-requirements/escape-upvar-ref.rs3
-rw-r--r--src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr18
12 files changed, 57 insertions, 46 deletions
diff --git a/src/test/compile-fail/borrowck/borrowck-local-borrow-outlives-fn.rs b/src/test/compile-fail/borrowck/borrowck-local-borrow-outlives-fn.rs
index fa80a2efdf8..0d5feb6b9cc 100644
--- a/src/test/compile-fail/borrowck/borrowck-local-borrow-outlives-fn.rs
+++ b/src/test/compile-fail/borrowck/borrowck-local-borrow-outlives-fn.rs
@@ -12,8 +12,9 @@
 //[mir]compile-flags: -Z borrowck=mir
 
 fn cplusplus_mode(x: isize) -> &'static isize {
-    &x //[ast]~ ERROR `x` does not live long enough
+    &x
+    //[ast]~^ ERROR `x` does not live long enough [E0597]
+    //[mir]~^^ ERROR `x` does not live long enough [E0597]
 }
-//[mir]~^ ERROR borrowed value does not live long enough
 
 fn main() {}
diff --git a/src/test/compile-fail/borrowck/borrowck-local-borrow-with-panic-outlives-fn.rs b/src/test/compile-fail/borrowck/borrowck-local-borrow-with-panic-outlives-fn.rs
index 78f0d321e0d..2c9ace4825d 100644
--- a/src/test/compile-fail/borrowck/borrowck-local-borrow-with-panic-outlives-fn.rs
+++ b/src/test/compile-fail/borrowck/borrowck-local-borrow-with-panic-outlives-fn.rs
@@ -13,10 +13,11 @@
 
 fn cplusplus_mode_exceptionally_unsafe(x: &mut Option<&'static mut isize>) {
     let mut z = (0, 0);
-    *x = Some(&mut z.1); //[ast]~ ERROR [E0597]
+    *x = Some(&mut z.1);
+    //[ast]~^ ERROR `z.1` does not live long enough [E0597]
+    //[mir]~^^ ERROR `z.1` does not live long enough [E0597]
     panic!("catch me for a dangling pointer!")
 }
-//[mir]~^ ERROR [E0597]
 
 fn main() {
     cplusplus_mode_exceptionally_unsafe(&mut None);
diff --git a/src/test/compile-fail/issue-17954.rs b/src/test/compile-fail/issue-17954.rs
index 3e14525250d..4211057610b 100644
--- a/src/test/compile-fail/issue-17954.rs
+++ b/src/test/compile-fail/issue-17954.rs
@@ -18,12 +18,16 @@ static FOO: u8 = 3;
 
 fn main() {
     let a = &FOO;
-    //[ast]~^ ERROR borrowed value does not live long enough
+    //[mir]~^ ERROR `FOO` does not live long enough [E0597]
+    //[mir]~| does not live long enough
+    //[mir]~| NOTE borrowed value must be valid for the static lifetime
+    //[ast]~^^^^ ERROR borrowed value does not live long enough
     //[ast]~| does not live long enough
     //[ast]~| NOTE borrowed value must be valid for the static lifetime
 
     std::thread::spawn(move || {
         println!("{}", a);
     });
-} //[ast]~ temporary value only lives until here
-  //[mir]~^ ERROR borrowed value does not live long enough
+}
+//[mir]~^ borrowed value only lives until here
+//[ast]~^^ temporary value only lives until here
diff --git a/src/test/compile-fail/region-borrow-params-issue-29793-big.rs b/src/test/compile-fail/region-borrow-params-issue-29793-big.rs
index a4dc00bd2b1..2e2dfdb03d9 100644
--- a/src/test/compile-fail/region-borrow-params-issue-29793-big.rs
+++ b/src/test/compile-fail/region-borrow-params-issue-29793-big.rs
@@ -82,8 +82,8 @@ fn main() {
             //[ast]~^ ERROR `x` does not live long enough
             //[ast]~| ERROR `y` does not live long enough
     });
-    //[mir]~^ ERROR borrowed value does not live long enough
-    //[mir]~| ERROR borrowed value does not live long enough
+    //[mir]~^ ERROR `x` does not live long enough
+    //[mir]~| ERROR `y` does not live long enough
 
     w.handle(); // This works
     // w.handle_ref(); // This doesn't
diff --git a/src/test/ui/nll/capture-ref-in-struct.rs b/src/test/ui/nll/capture-ref-in-struct.rs
index 00a0c94d221..5eae5d92471 100644
--- a/src/test/ui/nll/capture-ref-in-struct.rs
+++ b/src/test/ui/nll/capture-ref-in-struct.rs
@@ -30,11 +30,11 @@ fn test() {
         let closure = SomeStruct {
             p: &mut p,
             y: &y,
+            //~^ ERROR `y` does not live long enough [E0597]
         };
 
         closure.invoke();
     }
-    //~^ ERROR borrowed value does not live long enough [E0597]
 
     deref(p);
 }
diff --git a/src/test/ui/nll/capture-ref-in-struct.stderr b/src/test/ui/nll/capture-ref-in-struct.stderr
index f10e52e05f1..6b57f91987b 100644
--- a/src/test/ui/nll/capture-ref-in-struct.stderr
+++ b/src/test/ui/nll/capture-ref-in-struct.stderr
@@ -1,13 +1,13 @@
-error[E0597]: borrowed value does not live long enough
-  --> $DIR/capture-ref-in-struct.rs:36:6
+error[E0597]: `y` does not live long enough
+  --> $DIR/capture-ref-in-struct.rs:32:16
    |
-28 |         let y = 22;
-   |             - temporary value created here
+32 |             y: &y,
+   |                ^^ does not live long enough
 ...
-36 |     }
-   |      ^ temporary value dropped here while still borrowed
+37 |     }
+   |      - borrowed value only lives until here
    |
-   = note: consider using a `let` binding to increase its lifetime
+   = note: borrowed value must be valid for lifetime '_#4r...
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/nll/closure-requirements/escape-argument.rs b/src/test/ui/nll/closure-requirements/escape-argument.rs
index 1d8a916345e..7e918c6431d 100644
--- a/src/test/ui/nll/closure-requirements/escape-argument.rs
+++ b/src/test/ui/nll/closure-requirements/escape-argument.rs
@@ -35,8 +35,8 @@ fn test() {
         let y = 22;
         let mut closure = expect_sig(|p, y| *p = y);
         closure(&mut p, &y);
+        //~^ ERROR `y` does not live long enough [E0597]
     }
-    //~^ ERROR borrowed value does not live long enough [E0597]
 
     deref(p);
 }
diff --git a/src/test/ui/nll/closure-requirements/escape-argument.stderr b/src/test/ui/nll/closure-requirements/escape-argument.stderr
index e5c7139573e..0ec671997e7 100644
--- a/src/test/ui/nll/closure-requirements/escape-argument.stderr
+++ b/src/test/ui/nll/closure-requirements/escape-argument.stderr
@@ -24,16 +24,16 @@ note: No external requirements
    |
    = note: defining type: DefId(0/0:3 ~ escape_argument[317d]::test[0]) with substs []
 
-error[E0597]: borrowed value does not live long enough
-  --> $DIR/escape-argument.rs:38:6
+error[E0597]: `y` does not live long enough
+  --> $DIR/escape-argument.rs:37:25
    |
-35 |         let y = 22;
-   |             - temporary value created here
-...
-38 |     }
-   |      ^ temporary value dropped here while still borrowed
+37 |         closure(&mut p, &y);
+   |                         ^^ does not live long enough
+38 |         //~^ ERROR `y` does not live long enough [E0597]
+39 |     }
+   |      - borrowed value only lives until here
    |
-   = note: consider using a `let` binding to increase its lifetime
+   = note: borrowed value must be valid for lifetime '_#5r...
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/nll/closure-requirements/escape-upvar-nested.rs b/src/test/ui/nll/closure-requirements/escape-upvar-nested.rs
index 9f4585bfbab..05700ae00ad 100644
--- a/src/test/ui/nll/closure-requirements/escape-upvar-nested.rs
+++ b/src/test/ui/nll/closure-requirements/escape-upvar-nested.rs
@@ -27,13 +27,13 @@ fn test() {
     {
         let y = 22;
 
-        let mut closure = || {
+        let mut closure = || { //~ ERROR `y` does not live long enough [E0597]
             let mut closure1 = || p = &y;
             closure1();
         };
 
         closure();
-    } //~ ERROR borrowed value does not live long enough
+    }
 
     deref(p);
 }
diff --git a/src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr b/src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr
index 201590f01f3..6c70afa0c9c 100644
--- a/src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr
+++ b/src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr
@@ -16,7 +16,7 @@ note: External requirements
 note: External requirements
   --> $DIR/escape-upvar-nested.rs:30:27
    |
-30 |           let mut closure = || {
+30 |           let mut closure = || { //~ ERROR `y` does not live long enough [E0597]
    |  ___________________________^
 31 | |             let mut closure1 = || p = &y;
 32 | |             closure1();
@@ -46,16 +46,20 @@ note: No external requirements
    |
    = note: defining type: DefId(0/0:3 ~ escape_upvar_nested[317d]::test[0]) with substs []
 
-error[E0597]: borrowed value does not live long enough
-  --> $DIR/escape-upvar-nested.rs:36:6
+error[E0597]: `y` does not live long enough
+  --> $DIR/escape-upvar-nested.rs:30:27
    |
-28 |         let y = 22;
-   |             - temporary value created here
+30 |           let mut closure = || { //~ ERROR `y` does not live long enough [E0597]
+   |  ___________________________^
+31 | |             let mut closure1 = || p = &y;
+32 | |             closure1();
+33 | |         };
+   | |_________^ does not live long enough
 ...
-36 |     } //~ ERROR borrowed value does not live long enough
-   |      ^ temporary value dropped here while still borrowed
+36 |       }
+   |        - borrowed value only lives until here
    |
-   = note: consider using a `let` binding to increase its lifetime
+   = note: borrowed value must be valid for lifetime '_#3r...
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/nll/closure-requirements/escape-upvar-ref.rs b/src/test/ui/nll/closure-requirements/escape-upvar-ref.rs
index 548a5ae5969..93d8bfafcba 100644
--- a/src/test/ui/nll/closure-requirements/escape-upvar-ref.rs
+++ b/src/test/ui/nll/closure-requirements/escape-upvar-ref.rs
@@ -31,8 +31,9 @@ fn test() {
     {
         let y = 22;
         let mut closure = || p = &y;
+        //~^ ERROR `y` does not live long enough [E0597]
         closure();
-    } //~ ERROR borrowed value does not live long enough
+    }
 
     deref(p);
 }
diff --git a/src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr b/src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr
index 47ba66ade65..0b982dd812b 100644
--- a/src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr
+++ b/src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr
@@ -21,22 +21,22 @@ note: No external requirements
 29 | |     let mut p = &x;
 30 | |
 ...  |
-37 | |     deref(p);
-38 | | }
+38 | |     deref(p);
+39 | | }
    | |_^
    |
    = note: defining type: DefId(0/0:3 ~ escape_upvar_ref[317d]::test[0]) with substs []
 
-error[E0597]: borrowed value does not live long enough
-  --> $DIR/escape-upvar-ref.rs:35:6
+error[E0597]: `y` does not live long enough
+  --> $DIR/escape-upvar-ref.rs:33:27
    |
-32 |         let y = 22;
-   |             - temporary value created here
+33 |         let mut closure = || p = &y;
+   |                           ^^^^^^^^^ does not live long enough
 ...
-35 |     } //~ ERROR borrowed value does not live long enough
-   |      ^ temporary value dropped here while still borrowed
+36 |     }
+   |      - borrowed value only lives until here
    |
-   = note: consider using a `let` binding to increase its lifetime
+   = note: borrowed value must be valid for lifetime '_#3r...
 
 error: aborting due to previous error