diff options
| author | David Wood <david@davidtw.co> | 2017-12-11 17:29:31 +0000 |
|---|---|---|
| committer | David Wood <david@davidtw.co> | 2017-12-11 22:20:15 +0000 |
| commit | 3dbc11bc6322a8d337ccdf79464e547abafe7f00 (patch) | |
| tree | de539b1d41c7334778aed6020eb9c07b865ba1e6 /src | |
| parent | 00c7a3f4dce52caad94decd820e8cd66a30b3d8d (diff) | |
| download | rust-3dbc11bc6322a8d337ccdf79464e547abafe7f00.tar.gz rust-3dbc11bc6322a8d337ccdf79464e547abafe7f00.zip | |
Updated existing tests with new error messages.
Diffstat (limited to 'src')
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 |
