diff options
Diffstat (limited to 'src/test')
127 files changed, 430 insertions, 331 deletions
diff --git a/src/test/compile-fail/E0501.rs b/src/test/compile-fail/E0501.rs index f7e246e8f0f..5643e1ef091 100644 --- a/src/test/compile-fail/E0501.rs +++ b/src/test/compile-fail/E0501.rs @@ -26,10 +26,12 @@ fn foo(a: &mut i32) { inside_closure(a) }; outside_closure_1(a); //[ast]~ ERROR cannot borrow `*a` as mutable because previous closure requires unique access - //[mir]~^ ERROR cannot borrow `*a` as mutable because previous closure requires unique access + //[mir]~^ ERROR cannot borrow `*a` as mutable because previous closure requires unique access outside_closure_2(a); //[ast]~ ERROR cannot borrow `*a` as immutable because previous closure requires unique access - //[mir]~^ ERROR cannot borrow `*a` as immutable because previous closure requires unique access + //[mir]~^ ERROR cannot borrow `*a` as immutable because previous closure requires unique access + + drop(bar); } fn main() { diff --git a/src/test/compile-fail/borrowck/borrowck-asm.rs b/src/test/compile-fail/borrowck/borrowck-asm.rs index 9ad3a8f9fc8..0b230be85ad 100644 --- a/src/test/compile-fail/borrowck/borrowck-asm.rs +++ b/src/test/compile-fail/borrowck/borrowck-asm.rs @@ -14,7 +14,7 @@ // ignore-sparc // revisions: ast mir -//[mir]compile-flags: -Z borrowck=mir -Z nll +//[mir]compile-flags: -Z borrowck=mir #![feature(asm)] diff --git a/src/test/compile-fail/borrowck/borrowck-closures-mut-and-imm.rs b/src/test/compile-fail/borrowck/borrowck-closures-mut-and-imm.rs index f498d8d500e..9057ba07907 100644 --- a/src/test/compile-fail/borrowck/borrowck-closures-mut-and-imm.rs +++ b/src/test/compile-fail/borrowck/borrowck-closures-mut-and-imm.rs @@ -29,7 +29,8 @@ fn a() { let mut x = 3; let c1 = || x = 4; let c2 = || x * 5; //[ast]~ ERROR cannot borrow `x` - //[mir]~^ ERROR cannot borrow `x` as immutable because it is also borrowed as mutable + //[mir]~^ ERROR cannot borrow `x` as immutable because it is also borrowed as mutable + drop(c1); } fn b() { @@ -37,6 +38,7 @@ fn b() { let c1 = || set(&mut x); let c2 = || get(&x); //[ast]~ ERROR cannot borrow `x` //[mir]~^ ERROR cannot borrow `x` as immutable because it is also borrowed as mutable + drop(c1); } fn c() { @@ -44,6 +46,7 @@ fn c() { let c1 = || set(&mut x); let c2 = || x * 5; //[ast]~ ERROR cannot borrow `x` //[mir]~^ ERROR cannot borrow `x` as immutable because it is also borrowed as mutable + drop(c1); } fn d() { @@ -51,6 +54,7 @@ fn d() { let c2 = || x * 5; x = 5; //[ast]~ ERROR cannot assign //[mir]~^ ERROR cannot assign to `x` because it is borrowed + drop(c2); } fn e() { @@ -58,6 +62,7 @@ fn e() { let c1 = || get(&x); x = 5; //[ast]~ ERROR cannot assign //[mir]~^ ERROR cannot assign to `x` because it is borrowed + drop(c1); } fn f() { @@ -65,6 +70,7 @@ fn f() { let c1 = || get(&*x); *x = 5; //[ast]~ ERROR cannot assign to `*x` //[mir]~^ ERROR cannot assign to `*x` because it is borrowed + drop(c1); } fn g() { @@ -76,6 +82,7 @@ fn g() { let c1 = || get(&*x.f); *x.f = 5; //[ast]~ ERROR cannot assign to `*x.f` //[mir]~^ ERROR cannot assign to `*x.f` because it is borrowed + drop(c1); } fn h() { @@ -87,6 +94,7 @@ fn h() { let c1 = || get(&*x.f); let c2 = || *x.f = 5; //[ast]~ ERROR cannot borrow `x` as mutable //[mir]~^ ERROR cannot borrow `x` as mutable because it is also borrowed as immutable + drop(c1); } fn main() { diff --git a/src/test/compile-fail/borrowck/borrowck-describe-lvalue.rs b/src/test/compile-fail/borrowck/borrowck-describe-lvalue.rs index fa475949b36..3a7e4a13740 100644 --- a/src/test/compile-fail/borrowck/borrowck-describe-lvalue.rs +++ b/src/test/compile-fail/borrowck/borrowck-describe-lvalue.rs @@ -49,83 +49,93 @@ fn main() { // Local and field from struct { let mut f = Foo { x: 22 }; - let _x = f.x(); + let x = f.x(); f.x; //[ast]~ ERROR cannot use `f.x` because it was mutably borrowed - //[mir]~^ ERROR cannot use `f.x` because it was mutably borrowed + //[mir]~^ ERROR cannot use `f.x` because it was mutably borrowed + drop(x); } // Local and field from tuple-struct { let mut g = Bar(22); - let _0 = g.x(); + let x = g.x(); g.0; //[ast]~ ERROR cannot use `g.0` because it was mutably borrowed //[mir]~^ ERROR cannot use `g.0` because it was mutably borrowed + drop(x); } // Local and field from tuple { let mut h = (22, 23); - let _0 = &mut h.0; + let x = &mut h.0; h.0; //[ast]~ ERROR cannot use `h.0` because it was mutably borrowed //[mir]~^ ERROR cannot use `h.0` because it was mutably borrowed + drop(x); } // Local and field from enum { let mut e = Baz::X(2); - let _e0 = e.x(); + let x = e.x(); match e { //[mir]~ ERROR cannot use `e` because it was mutably borrowed Baz::X(value) => value //[ast]~^ ERROR cannot use `e.0` because it was mutably borrowed //[mir]~^^ ERROR cannot use `e.0` because it was mutably borrowed }; + drop(x); } // Local and field from union unsafe { let mut u = U { b: 0 }; - let _ra = &mut u.a; + let x = &mut u.a; u.a; //[ast]~ ERROR cannot use `u.a` because it was mutably borrowed //[mir]~^ ERROR cannot use `u.a` because it was mutably borrowed + drop(x); } // Deref and field from struct { let mut f = Box::new(Foo { x: 22 }); - let _x = f.x(); + let x = f.x(); f.x; //[ast]~ ERROR cannot use `f.x` because it was mutably borrowed //[mir]~^ ERROR cannot use `f.x` because it was mutably borrowed + drop(x); } // Deref and field from tuple-struct { let mut g = Box::new(Bar(22)); - let _0 = g.x(); + let x = g.x(); g.0; //[ast]~ ERROR cannot use `g.0` because it was mutably borrowed //[mir]~^ ERROR cannot use `g.0` because it was mutably borrowed + drop(x); } // Deref and field from tuple { let mut h = Box::new((22, 23)); - let _0 = &mut h.0; + let x = &mut h.0; h.0; //[ast]~ ERROR cannot use `h.0` because it was mutably borrowed //[mir]~^ ERROR cannot use `h.0` because it was mutably borrowed + drop(x); } // Deref and field from enum { let mut e = Box::new(Baz::X(3)); - let _e0 = e.x(); + let x = e.x(); match *e { //[mir]~ ERROR cannot use `*e` because it was mutably borrowed Baz::X(value) => value //[ast]~^ ERROR cannot use `e.0` because it was mutably borrowed //[mir]~^^ ERROR cannot use `e.0` because it was mutably borrowed }; + drop(x); } // Deref and field from union unsafe { let mut u = Box::new(U { b: 0 }); - let _ra = &mut u.a; + let x = &mut u.a; u.a; //[ast]~ ERROR cannot use `u.a` because it was mutably borrowed //[mir]~^ ERROR cannot use `u.a` because it was mutably borrowed + drop(x); } // Constant index { let mut v = &[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; - let _v = &mut v; + let x = &mut v; match v { //[mir]~ ERROR cannot use `v` because it was mutably borrowed &[x, _, .., _, _] => println!("{}", x), //[ast]~^ ERROR cannot use `v[..]` because it was mutably borrowed @@ -150,11 +160,12 @@ fn main() { //[mir]~^^ ERROR cannot use `v[..]` because it was mutably borrowed _ => panic!("other case"), } + drop(x); } // Subslices { let mut v = &[1, 2, 3, 4, 5]; - let _v = &mut v; + let x = &mut v; match v { //[mir]~ ERROR cannot use `v` because it was mutably borrowed &[x..] => println!("{:?}", x), //[ast]~^ ERROR cannot use `v[..]` because it was mutably borrowed @@ -179,13 +190,14 @@ fn main() { //[mir]~^^ ERROR cannot use `v[..]` because it was mutably borrowed _ => panic!("other case"), } + drop(x); } // Downcasted field { enum E<X> { A(X), B { x: X } } let mut e = E::A(3); - let _e = &mut e; + let x = &mut e; match e { //[mir]~ ERROR cannot use `e` because it was mutably borrowed E::A(ref ax) => //[ast]~^ ERROR cannot borrow `e.0` as immutable because `e` is also borrowed as mutable @@ -197,13 +209,14 @@ fn main() { //[mir]~^^ ERROR cannot borrow `e.x` as immutable because it is also borrowed as mutable println!("e.bx: {:?}", bx), } + drop(x); } // Field in field { struct F { x: u32, y: u32 }; struct S { x: F, y: (u32, u32), }; let mut s = S { x: F { x: 1, y: 2}, y: (999, 998) }; - let _s = &mut s; + let x = &mut s; match s { //[mir]~ ERROR cannot use `s` because it was mutably borrowed S { y: (ref y0, _), .. } => //[ast]~^ ERROR cannot borrow `s.y.0` as immutable because `s` is also borrowed as mutable @@ -218,6 +231,7 @@ fn main() { println!("x0: {:?}", x0), _ => panic!("other case"), } + drop(x); } // Field of ref { @@ -231,6 +245,7 @@ fn main() { let p: &'a u8 = &*block.current; //[mir]~^ ERROR cannot borrow `*block.current` as immutable because it is also borrowed as mutable // No errors in AST because of issue rust#38899 + drop(x); } } // Field of ptr @@ -245,29 +260,32 @@ fn main() { let p : *const u8 = &*(*block).current; //[mir]~^ ERROR cannot borrow `*block.current` as immutable because it is also borrowed as mutable // No errors in AST because of issue rust#38899 + drop(x); } } // Field of index { struct F {x: u32, y: u32}; let mut v = &[F{x: 1, y: 2}, F{x: 3, y: 4}]; - let _v = &mut v; + let x = &mut v; v[0].y; //[ast]~^ ERROR cannot use `v[..].y` because it was mutably borrowed //[mir]~^^ ERROR cannot use `v[..].y` because it was mutably borrowed //[mir]~| ERROR cannot use `*v` because it was mutably borrowed + drop(x); } // Field of constant index { struct F {x: u32, y: u32}; let mut v = &[F{x: 1, y: 2}, F{x: 3, y: 4}]; - let _v = &mut v; + let x = &mut v; match v { //[mir]~ ERROR cannot use `v` because it was mutably borrowed &[_, F {x: ref xf, ..}] => println!("{}", xf), //[mir]~^ ERROR cannot borrow `v[..].x` as immutable because it is also borrowed as mutable // No errors in AST _ => panic!("other case") } + drop(x); } // Field from upvar { @@ -281,13 +299,15 @@ fn main() { } // Field from upvar nested { + // FIXME(#49824) -- the free region error below should probably not be there let mut x = 0; || { - || { - let y = &mut x; - &mut x; //[ast]~ ERROR cannot borrow `**x` as mutable more than once at a time - //[mir]~^ ERROR cannot borrow `x` as mutable more than once at a time - *y = 1; + || { //[mir]~ ERROR free region `` does not outlive + let y = &mut x; + &mut x; //[ast]~ ERROR cannot borrow `**x` as mutable more than once at a time + //[mir]~^ ERROR cannot borrow `x` as mutable more than once at a time + *y = 1; + drop(y); } }; } diff --git a/src/test/compile-fail/borrowck/borrowck-imm-ref-to-mut-rec-field-issue-3162-c.rs b/src/test/compile-fail/borrowck/borrowck-imm-ref-to-mut-rec-field-issue-3162-c.rs index f09a0c7414b..6f0e0f43f60 100644 --- a/src/test/compile-fail/borrowck/borrowck-imm-ref-to-mut-rec-field-issue-3162-c.rs +++ b/src/test/compile-fail/borrowck/borrowck-imm-ref-to-mut-rec-field-issue-3162-c.rs @@ -13,10 +13,12 @@ fn main() { let mut _a = 3; - let _b = &mut _a; + let b = &mut _a; { - let _c = &*_b; + let c = &*b; _a = 4; //[ast]~ ERROR cannot assign to `_a` - //[mir]~^ ERROR cannot assign to `_a` because it is borrowed + //[mir]~^ ERROR cannot assign to `_a` because it is borrowed + drop(c); } + drop(b); } diff --git a/src/test/compile-fail/borrowck/borrowck-lend-flow-match.rs b/src/test/compile-fail/borrowck/borrowck-lend-flow-match.rs index 2fe764568bc..f2f3e791422 100644 --- a/src/test/compile-fail/borrowck/borrowck-lend-flow-match.rs +++ b/src/test/compile-fail/borrowck/borrowck-lend-flow-match.rs @@ -24,9 +24,10 @@ fn separate_arms() { // fact no outstanding loan of x! x = Some(0); } - Some(ref __isize) => { + Some(ref r) => { x = Some(1); //[ast]~ ERROR cannot assign - //[mir]~^ ERROR cannot assign to `x` because it is borrowed + //[mir]~^ ERROR cannot assign to `x` because it is borrowed + drop(r); } } x.clone(); // just to prevent liveness warnings diff --git a/src/test/compile-fail/borrowck/borrowck-match-already-borrowed.rs b/src/test/compile-fail/borrowck/borrowck-match-already-borrowed.rs index 3e57ac0ca19..c2136e62a7b 100644 --- a/src/test/compile-fail/borrowck/borrowck-match-already-borrowed.rs +++ b/src/test/compile-fail/borrowck/borrowck-match-already-borrowed.rs @@ -25,16 +25,18 @@ fn match_enum() { Foo::A(x) => x //[ast]~ ERROR [E0503] //[mir]~^ ERROR [E0503] }; + drop(p); } fn main() { let mut x = 1; - let _x = &mut x; + let r = &mut x; let _ = match x { //[mir]~ ERROR [E0503] x => x + 1, //[ast]~ ERROR [E0503] //[mir]~^ ERROR [E0503] y => y + 2, //[ast]~ ERROR [E0503] //[mir]~^ ERROR [E0503] }; + drop(r); } diff --git a/src/test/compile-fail/borrowck/borrowck-mut-borrow-linear-errors.rs b/src/test/compile-fail/borrowck/borrowck-mut-borrow-linear-errors.rs index 63bb04a0e4c..7b0a71815a5 100644 --- a/src/test/compile-fail/borrowck/borrowck-mut-borrow-linear-errors.rs +++ b/src/test/compile-fail/borrowck/borrowck-mut-borrow-linear-errors.rs @@ -17,14 +17,14 @@ fn main() { let mut x = 1; - let mut addr; + let mut addr = vec![]; loop { match 1 { - 1 => { addr = &mut x; } //[ast]~ ERROR [E0499] + 1 => { addr.push(&mut x); } //[ast]~ ERROR [E0499] //[mir]~^ ERROR [E0499] - 2 => { addr = &mut x; } //[ast]~ ERROR [E0499] + 2 => { addr.push(&mut x); } //[ast]~ ERROR [E0499] //[mir]~^ ERROR [E0499] - _ => { addr = &mut x; } //[ast]~ ERROR [E0499] + _ => { addr.push(&mut x); } //[ast]~ ERROR [E0499] //[mir]~^ ERROR [E0499] } } diff --git a/src/test/compile-fail/borrowck/borrowck-overloaded-index-ref-index.rs b/src/test/compile-fail/borrowck/borrowck-overloaded-index-ref-index.rs index 3a4c22eb139..109fe3d1128 100644 --- a/src/test/compile-fail/borrowck/borrowck-overloaded-index-ref-index.rs +++ b/src/test/compile-fail/borrowck/borrowck-overloaded-index-ref-index.rs @@ -71,4 +71,5 @@ fn main() { s[2] = 20; //[ast]~^ ERROR cannot assign to immutable indexed content //[mir]~^^ ERROR cannot assign to immutable item + drop(rs); } diff --git a/src/test/compile-fail/borrowck/borrowck-pat-reassign-binding.rs b/src/test/compile-fail/borrowck/borrowck-pat-reassign-binding.rs index 0f3a8418210..d917a0abb88 100644 --- a/src/test/compile-fail/borrowck/borrowck-pat-reassign-binding.rs +++ b/src/test/compile-fail/borrowck/borrowck-pat-reassign-binding.rs @@ -21,7 +21,8 @@ fn main() { Some(ref i) => { // But on this branch, `i` is an outstanding borrow x = Some(*i+1); //[ast]~ ERROR cannot assign to `x` - //[mir]~^ ERROR cannot assign to `x` because it is borrowed + //[mir]~^ ERROR cannot assign to `x` because it is borrowed + drop(i); } } x.clone(); // just to prevent liveness warnings diff --git a/src/test/compile-fail/borrowck/borrowck-union-borrow.rs b/src/test/compile-fail/borrowck/borrowck-union-borrow.rs index 0241b3870c7..97193bd0191 100644 --- a/src/test/compile-fail/borrowck/borrowck-union-borrow.rs +++ b/src/test/compile-fail/borrowck/borrowck-union-borrow.rs @@ -25,82 +25,98 @@ fn main() { { let ra = &u.a; let ra2 = &u.a; // OK + drop(ra); } { let ra = &u.a; let a = u.a; // OK + drop(ra); } { let ra = &u.a; let rma = &mut u.a; //[ast]~ ERROR cannot borrow `u.a` as mutable because it is also borrowed as immutable //[mir]~^ ERROR cannot borrow `u.a` as mutable because it is also borrowed as immutable + drop(ra); } { let ra = &u.a; u.a = 1; //[ast]~ ERROR cannot assign to `u.a` because it is borrowed //[mir]~^ ERROR cannot assign to `u.a` because it is borrowed + drop(ra); } // Imm borrow, other field { let ra = &u.a; let rb = &u.b; // OK + drop(ra); } { let ra = &u.a; let b = u.b; // OK + drop(ra); } { let ra = &u.a; let rmb = &mut u.b; //[ast]~ ERROR cannot borrow `u` (via `u.b`) as mutable because `u` is also borrowed as immutable (via `u.a`) //[mir]~^ ERROR cannot borrow `u.b` as mutable because it is also borrowed as immutable + drop(ra); } { let ra = &u.a; u.b = 1; //[ast]~ ERROR cannot assign to `u.b` because it is borrowed //[mir]~^ ERROR cannot assign to `u.b` because it is borrowed + drop(ra); } // Mut borrow, same field { let rma = &mut u.a; let ra = &u.a; //[ast]~ ERROR cannot borrow `u.a` as immutable because it is also borrowed as mutable //[mir]~^ ERROR cannot borrow `u.a` as immutable because it is also borrowed as mutable + drop(rma); } { let ra = &mut u.a; let a = u.a; //[ast]~ ERROR cannot use `u.a` because it was mutably borrowed //[mir]~^ ERROR cannot use `u.a` because it was mutably borrowed + drop(ra); } { let rma = &mut u.a; let rma2 = &mut u.a; //[ast]~ ERROR cannot borrow `u.a` as mutable more than once at a time //[mir]~^ ERROR cannot borrow `u.a` as mutable more than once at a time + drop(rma); } { let rma = &mut u.a; u.a = 1; //[ast]~ ERROR cannot assign to `u.a` because it is borrowed //[mir]~^ ERROR cannot assign to `u.a` because it is borrowed + drop(rma); } // Mut borrow, other field { let rma = &mut u.a; let rb = &u.b; //[ast]~ ERROR cannot borrow `u` (via `u.b`) as immutable because `u` is also borrowed as mutable (via `u.a`) //[mir]~^ ERROR cannot borrow `u.b` as immutable because it is also borrowed as mutable + drop(rma); } { let ra = &mut u.a; let b = u.b; //[ast]~ ERROR cannot use `u.b` because it was mutably borrowed //[mir]~^ ERROR cannot use `u.b` because it was mutably borrowed + drop(ra); } { let rma = &mut u.a; let rmb2 = &mut u.b; //[ast]~ ERROR cannot borrow `u` (via `u.b`) as mutable more than once at a time //[mir]~^ ERROR cannot borrow `u.b` as mutable more than once at a time + drop(rma); } { let rma = &mut u.a; u.b = 1; //[ast]~ ERROR cannot assign to `u.b` because it is borrowed //[mir]~^ ERROR cannot assign to `u.b` because it is borrowed + drop(rma); } } } diff --git a/src/test/compile-fail/borrowck/two-phase-across-loop.rs b/src/test/compile-fail/borrowck/two-phase-across-loop.rs new file mode 100644 index 00000000000..e03a0355b48 --- /dev/null +++ b/src/test/compile-fail/borrowck/two-phase-across-loop.rs @@ -0,0 +1,34 @@ +// Copyright 2016 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Test that a borrow which starts as a 2-phase borrow and gets +// carried around a loop winds up conflicting with itself. + +#![feature(nll)] + +struct Foo { x: String } + +impl Foo { + fn get_string(&mut self) -> &str { + &self.x + } +} + +fn main() { + let mut foo = Foo { x: format!("Hello, world") }; + let mut strings = vec![]; + + loop { + strings.push(foo.get_string()); //~ ERROR cannot borrow `foo` as mutable + if strings.len() > 2 { break; } + } + + println!("{:?}", strings); +} diff --git a/src/test/compile-fail/borrowck/two-phase-activation-sharing-interference.rs b/src/test/compile-fail/borrowck/two-phase-activation-sharing-interference.rs index 90933c6b31f..77b237e34f2 100644 --- a/src/test/compile-fail/borrowck/two-phase-activation-sharing-interference.rs +++ b/src/test/compile-fail/borrowck/two-phase-activation-sharing-interference.rs @@ -13,10 +13,9 @@ // revisions: nll_target // The following revisions are disabled due to missing support from two-phase beyond autorefs -//[lxl_beyond] compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z two-phase-beyond-autoref -//[nll_beyond] compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z two-phase-beyond-autoref -Z nll +//[nll_beyond] compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z two-phase-beyond-autoref -//[nll_target] compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z nll +//[nll_target] compile-flags: -Z borrowck=mir -Z two-phase-borrows // This is an important corner case pointed out by Niko: one is // allowed to initiate a shared borrow during a reservation, but it diff --git a/src/test/compile-fail/borrowck/two-phase-allow-access-during-reservation.rs b/src/test/compile-fail/borrowck/two-phase-allow-access-during-reservation.rs index d2f4154433a..5deabf93764 100644 --- a/src/test/compile-fail/borrowck/two-phase-allow-access-during-reservation.rs +++ b/src/test/compile-fail/borrowck/two-phase-allow-access-during-reservation.rs @@ -13,11 +13,9 @@ // revisions: nll_target // The following revisions are disabled due to missing support for two_phase_beyond_autoref -//[lxl_beyond] compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z two_phase_beyond_autoref -//[nll_beyond] compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z two_phase_beyond_autoref -Z nll +//[nll_beyond] compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z two_phase_beyond_autoref - -//[nll_target] compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z nll +//[nll_target] compile-flags: -Z borrowck=mir -Z two-phase-borrows // This is the second counter-example from Niko's blog post // smallcultfollowing.com/babysteps/blog/2017/03/01/nested-method-calls-via-two-phase-borrowing/ @@ -44,9 +42,8 @@ fn main() { /*3*/ *p += 1; // (mutable borrow of `i` starts here, since `p` is used) - /*4*/ let k = i; //[lxl_beyond]~ ERROR cannot use `i` because it was mutably borrowed [E0503] - //[nll_beyond]~^ ERROR cannot use `i` because it was mutably borrowed [E0503] - //[nll_target]~^^ ERROR cannot use `i` because it was mutably borrowed [E0503] + /*4*/ let k = i; //[nll_beyond]~ ERROR cannot use `i` because it was mutably borrowed [E0503] + //[nll_target]~^ ERROR cannot use `i` because it was mutably borrowed [E0503] /*5*/ *p += 1; diff --git a/src/test/compile-fail/borrowck/two-phase-cannot-nest-mut-self-calls.rs b/src/test/compile-fail/borrowck/two-phase-cannot-nest-mut-self-calls.rs index 01b04708599..15700a1d61a 100644 --- a/src/test/compile-fail/borrowck/two-phase-cannot-nest-mut-self-calls.rs +++ b/src/test/compile-fail/borrowck/two-phase-cannot-nest-mut-self-calls.rs @@ -8,9 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// revisions: lxl nll -//[lxl]compile-flags: -Z borrowck=mir -Z two-phase-borrows -//[nll]compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z nll +// compile-flags: -Z borrowck=mir -Z two-phase-borrows // This is the third counter-example from Niko's blog post // smallcultfollowing.com/babysteps/blog/2017/03/01/nested-method-calls-via-two-phase-borrowing/ @@ -26,8 +24,7 @@ fn main() { vec.get({ vec.push(2); - //[lxl]~^ ERROR cannot borrow `vec` as mutable because it is also borrowed as immutable - //[nll]~^^ ERROR cannot borrow `vec` as mutable because it is also borrowed as immutable + //~^ ERROR cannot borrow `vec` as mutable because it is also borrowed as immutable 0 }); diff --git a/src/test/compile-fail/borrowck/two-phase-nonrecv-autoref.rs b/src/test/compile-fail/borrowck/two-phase-nonrecv-autoref.rs index ef39fabda10..4303048138d 100644 --- a/src/test/compile-fail/borrowck/two-phase-nonrecv-autoref.rs +++ b/src/test/compile-fail/borrowck/two-phase-nonrecv-autoref.rs @@ -8,12 +8,11 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// revisions: ast lxl nll +// revisions: ast nll //[ast]compile-flags: -//[lxl]compile-flags: -Z borrowck=mir -Z two-phase-borrows -//[nll]compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z nll +//[nll]compile-flags: -Z borrowck=mir -Z two-phase-borrows -//[g2p]compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z nll -Z two-phase-beyond-autoref +//[g2p]compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z two-phase-beyond-autoref // the above revision is disabled until two-phase-beyond-autoref support is better // This is a test checking that when we limit two-phase borrows to @@ -69,44 +68,38 @@ fn overloaded_call_traits() { fn twice_ten_sm<F: FnMut(i32) -> i32>(f: &mut F) { f(f(10)); - //[lxl]~^ ERROR cannot borrow `*f` as mutable more than once at a time - //[nll]~^^ ERROR cannot borrow `*f` as mutable more than once at a time - //[g2p]~^^^ ERROR cannot borrow `*f` as mutable more than once at a time - //[ast]~^^^^ ERROR cannot borrow `*f` as mutable more than once at a time + //[nll]~^ ERROR cannot borrow `*f` as mutable more than once at a time + //[g2p]~^^ ERROR cannot borrow `*f` as mutable more than once at a time + //[ast]~^^^ ERROR cannot borrow `*f` as mutable more than once at a time } fn twice_ten_si<F: Fn(i32) -> i32>(f: &mut F) { f(f(10)); } fn twice_ten_so<F: FnOnce(i32) -> i32>(f: Box<F>) { f(f(10)); - //[lxl]~^ ERROR use of moved value: `*f` - //[nll]~^^ ERROR use of moved value: `*f` - //[g2p]~^^^ ERROR use of moved value: `*f` - //[ast]~^^^^ ERROR use of moved value: `*f` + //[nll]~^ ERROR use of moved value: `*f` + //[g2p]~^^ ERROR use of moved value: `*f` + //[ast]~^^^ ERROR use of moved value: `*f` } fn twice_ten_om(f: &mut FnMut(i32) -> i32) { f(f(10)); - //[lxl]~^ ERROR cannot borrow `*f` as mutable more than once at a time - //[nll]~^^ ERROR cannot borrow `*f` as mutable more than once at a time - //[g2p]~^^^ ERROR cannot borrow `*f` as mutable more than once at a time - //[ast]~^^^^ ERROR cannot borrow `*f` as mutable more than once at a time + //[nll]~^ ERROR cannot borrow `*f` as mutable more than once at a time + //[g2p]~^^ ERROR cannot borrow `*f` as mutable more than once at a time + //[ast]~^^^ ERROR cannot borrow `*f` as mutable more than once at a time } fn twice_ten_oi(f: &mut Fn(i32) -> i32) { f(f(10)); } fn twice_ten_oo(f: Box<FnOnce(i32) -> i32>) { f(f(10)); - //[lxl]~^ ERROR cannot move a value of type - //[lxl]~^^ ERROR cannot move a value of type - //[lxl]~^^^ ERROR use of moved value: `*f` - //[nll]~^^^^ ERROR cannot move a value of type - //[nll]~^^^^^ ERROR cannot move a value of type - //[nll]~^^^^^^ ERROR use of moved value: `*f` - //[g2p]~^^^^^^^ ERROR cannot move a value of type - //[g2p]~^^^^^^^^ ERROR cannot move a value of type - //[g2p]~^^^^^^^^^ ERROR use of moved value: `*f` - //[ast]~^^^^^^^^^^ ERROR use of moved value: `*f` + //[nll]~^ ERROR cannot move a value of type + //[nll]~^^ ERROR cannot move a value of type + //[nll]~^^^ ERROR use of moved value: `*f` + //[g2p]~^^^^ ERROR cannot move a value of type + //[g2p]~^^^^^ ERROR cannot move a value of type + //[g2p]~^^^^^^ ERROR use of moved value: `*f` + //[ast]~^^^^^^^ ERROR use of moved value: `*f` } twice_ten_sm(&mut |x| x + 1); @@ -144,10 +137,9 @@ fn coerce_unsized() { // This is not okay. double_access(&mut a, &a); - //[lxl]~^ ERROR cannot borrow `a` as immutable because it is also borrowed as mutable [E0502] - //[nll]~^^ ERROR cannot borrow `a` as immutable because it is also borrowed as mutable [E0502] - //[g2p]~^^^ ERROR cannot borrow `a` as immutable because it is also borrowed as mutable [E0502] - //[ast]~^^^^ ERROR cannot borrow `a` as immutable because it is also borrowed as mutable [E0502] + //[nll]~^ ERROR cannot borrow `a` as immutable because it is also borrowed as mutable [E0502] + //[g2p]~^^ ERROR cannot borrow `a` as immutable because it is also borrowed as mutable [E0502] + //[ast]~^^^ ERROR cannot borrow `a` as immutable because it is also borrowed as mutable [E0502] // But this is okay. a.m(a.i(10)); @@ -173,16 +165,14 @@ impl IndexMut<i32> for I { fn coerce_index_op() { let mut i = I(10); i[i[3]] = 4; - //[lxl]~^ ERROR cannot borrow `i` as immutable because it is also borrowed as mutable [E0502] - //[nll]~^^ ERROR cannot borrow `i` as immutable because it is also borrowed as mutable [E0502] - //[ast]~^^^ ERROR cannot borrow `i` as immutable because it is also borrowed as mutable [E0502] + //[nll]~^ ERROR cannot borrow `i` as immutable because it is also borrowed as mutable [E0502] + //[ast]~^^ ERROR cannot borrow `i` as immutable because it is also borrowed as mutable [E0502] i[3] = i[4]; i[i[3]] = i[4]; - //[lxl]~^ ERROR cannot borrow `i` as immutable because it is also borrowed as mutable [E0502] - //[nll]~^^ ERROR cannot borrow `i` as immutable because it is also borrowed as mutable [E0502] - //[ast]~^^^ ERROR cannot borrow `i` as immutable because it is also borrowed as mutable [E0502] + //[nll]~^ ERROR cannot borrow `i` as immutable because it is also borrowed as mutable [E0502] + //[ast]~^^ ERROR cannot borrow `i` as immutable because it is also borrowed as mutable [E0502] } fn main() { diff --git a/src/test/compile-fail/borrowck/two-phase-reservation-sharing-interference-2.rs b/src/test/compile-fail/borrowck/two-phase-reservation-sharing-interference-2.rs index fc9100c8a9a..f9326d944b8 100644 --- a/src/test/compile-fail/borrowck/two-phase-reservation-sharing-interference-2.rs +++ b/src/test/compile-fail/borrowck/two-phase-reservation-sharing-interference-2.rs @@ -8,9 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// revisions: lxl nll -//[lxl]compile-flags: -Z borrowck=mir -Z two-phase-borrows -//[nll]compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z nll +// compile-flags: -Z borrowck=mir -Z two-phase-borrows // This is similar to two-phase-reservation-sharing-interference.rs // in that it shows a reservation that overlaps with a shared borrow. @@ -26,12 +24,11 @@ #![feature(rustc_attrs)] #[rustc_error] -fn main() { //[nll]~ ERROR compilation successful +fn main() { //~ ERROR compilation successful let mut v = vec![0, 1, 2]; let shared = &v; v.push(shared.len()); - //[lxl]~^ ERROR cannot borrow `v` as mutable because it is also borrowed as immutable [E0502] assert_eq!(v, [0, 1, 2, 3]); } diff --git a/src/test/compile-fail/borrowck/two-phase-reservation-sharing-interference.rs b/src/test/compile-fail/borrowck/two-phase-reservation-sharing-interference.rs index 058022ad588..1333167b780 100644 --- a/src/test/compile-fail/borrowck/two-phase-reservation-sharing-interference.rs +++ b/src/test/compile-fail/borrowck/two-phase-reservation-sharing-interference.rs @@ -10,15 +10,13 @@ // ignore-tidy-linelength -// revisions: lxl_beyond nll_beyond nll_target +// revisions: nll_beyond nll_target // The following revisions are disabled due to missing support from two-phase beyond autorefs -//[lxl_beyond]compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z two-phase-beyond-autoref -//[lxl_beyond] should-fail -//[nll_beyond]compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z two-phase-beyond-autoref -Z nll +//[nll_beyond]compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z two-phase-beyond-autoref //[nll_beyond] should-fail -//[nll_target]compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z nll +//[nll_target]compile-flags: -Z borrowck=mir -Z two-phase-borrows // This is a corner case that the current implementation is (probably) // treating more conservatively than is necessary. But it also does @@ -46,9 +44,8 @@ fn main() { // with the shared borrow. But in the current implementation, // its an error. delay = &mut vec; - //[lxl_beyond]~^ ERROR cannot borrow `vec` as mutable because it is also borrowed as immutable - //[nll_beyond]~^^ ERROR cannot borrow `vec` as mutable because it is also borrowed as immutable - //[nll_target]~^^^ ERROR cannot borrow `vec` as mutable because it is also borrowed as immutable + //[nll_beyond]~^ ERROR cannot borrow `vec` as mutable because it is also borrowed as immutable + //[nll_target]~^^ ERROR cannot borrow `vec` as mutable because it is also borrowed as immutable shared[0]; } diff --git a/src/test/compile-fail/borrowck/two-phase-sneaky.rs b/src/test/compile-fail/borrowck/two-phase-sneaky.rs index 32747407c67..eec4b470d75 100644 --- a/src/test/compile-fail/borrowck/two-phase-sneaky.rs +++ b/src/test/compile-fail/borrowck/two-phase-sneaky.rs @@ -8,9 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// revisions: lxl nll -//[lxl]compile-flags: -Z borrowck=mir -Z two-phase-borrows -//[nll]compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z nll +// cmpile-flags: -Z borrowck=mir -Z two-phase-borrows // This is the first counter-example from Niko's blog post // smallcultfollowing.com/babysteps/blog/2017/03/01/nested-method-calls-via-two-phase-borrowing/ @@ -22,8 +20,7 @@ fn main() { v[0].push_str({ v.push(format!("foo")); - //[lxl]~^ ERROR cannot borrow `v` as mutable more than once at a time [E0499] - //[nll]~^^ ERROR cannot borrow `v` as mutable more than once at a time [E0499] + //~^ ERROR cannot borrow `v` as mutable more than once at a time [E0499] "World!" }); diff --git a/src/test/compile-fail/coerce-overloaded-autoderef.rs b/src/test/compile-fail/coerce-overloaded-autoderef.rs index 0487b03171a..5a05f59c6f4 100644 --- a/src/test/compile-fail/coerce-overloaded-autoderef.rs +++ b/src/test/compile-fail/coerce-overloaded-autoderef.rs @@ -22,6 +22,7 @@ fn double_mut_borrow<T>(x: &mut Box<T>) { let z = borrow_mut(x); //[ast]~^ ERROR cannot borrow `*x` as mutable more than once at a time //[mir]~^^ ERROR cannot borrow `*x` as mutable more than once at a time + drop((y, z)); } fn double_imm_borrow(x: &mut Box<i32>) { @@ -30,6 +31,7 @@ fn double_imm_borrow(x: &mut Box<i32>) { **x += 1; //[ast]~^ ERROR cannot assign to `**x` because it is borrowed //[mir]~^^ ERROR cannot assign to `**x` because it is borrowed + drop((y, z)); } fn double_mut_borrow2<T>(x: &mut Box<T>) { diff --git a/src/test/compile-fail/hrtb-identity-fn-borrows.rs b/src/test/compile-fail/hrtb-identity-fn-borrows.rs index 5f5b70dda5e..e98cf4eb2ab 100644 --- a/src/test/compile-fail/hrtb-identity-fn-borrows.rs +++ b/src/test/compile-fail/hrtb-identity-fn-borrows.rs @@ -33,6 +33,7 @@ fn call_repeatedly<F>(f: F) f.call(&x); f.call(&x); x = 5; + drop(y); } fn main() { diff --git a/src/test/compile-fail/issue-36082.rs b/src/test/compile-fail/issue-36082.rs index fc3e0633750..ed6a2f85fbe 100644 --- a/src/test/compile-fail/issue-36082.rs +++ b/src/test/compile-fail/issue-36082.rs @@ -11,6 +11,8 @@ // revisions: ast mir //[mir]compile-flags: -Z borrowck=mir +// FIXME(#49821) -- No tip about using a let binding + use std::cell::RefCell; fn main() { @@ -24,10 +26,9 @@ fn main() { //[ast]~| NOTE temporary value does not live long enough //[ast]~| NOTE consider using a `let` binding to increase its lifetime //[mir]~^^^^^ ERROR borrowed value does not live long enough [E0597] - //[mir]~| NOTE temporary value dropped here while still borrowed //[mir]~| NOTE temporary value does not live long enough - //[mir]~| NOTE consider using a `let` binding to increase its lifetime + //[mir]~| NOTE temporary value only lives until here println!("{}", val); + //[mir]~^ borrow later used here } //[ast]~^ NOTE temporary value needs to live until here -//[mir]~^^ NOTE temporary value needs to live until here diff --git a/src/test/compile-fail/mir_check_cast_closure.rs b/src/test/compile-fail/mir_check_cast_closure.rs index 6562efeb6d8..d8f5956b585 100644 --- a/src/test/compile-fail/mir_check_cast_closure.rs +++ b/src/test/compile-fail/mir_check_cast_closure.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags: -Z borrowck=mir -Z nll +// compile-flags: -Z borrowck=mir #![allow(dead_code)] @@ -16,7 +16,7 @@ fn bar<'a, 'b>() -> fn(&'a u32, &'b u32) -> &'a u32 { let g: fn(_, _) -> _ = |_x, y| y; //~^ ERROR free region `'b` does not outlive free region `'a` g - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll } fn main() {} diff --git a/src/test/compile-fail/mir_check_cast_reify.rs b/src/test/compile-fail/mir_check_cast_reify.rs index f6ad2820d17..1f9174b3574 100644 --- a/src/test/compile-fail/mir_check_cast_reify.rs +++ b/src/test/compile-fail/mir_check_cast_reify.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags: -Z borrowck=mir -Z nll +// compile-flags: -Zborrowck=mir #![allow(dead_code)] @@ -44,7 +44,7 @@ fn bar<'a>(x: &'a u32) -> &'static u32 { // The MIR type checker must therefore relate `'?0` to `'?1` and `'?2` // as part of checking the `ReifyFnPointer`. let f: fn(_) -> _ = foo; - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR free region `'a` does not outlive free region `'static` f(x) } diff --git a/src/test/compile-fail/mir_check_cast_unsafe_fn.rs b/src/test/compile-fail/mir_check_cast_unsafe_fn.rs index c9b378dacd5..27ca2728ddf 100644 --- a/src/test/compile-fail/mir_check_cast_unsafe_fn.rs +++ b/src/test/compile-fail/mir_check_cast_unsafe_fn.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags: -Z borrowck=mir -Z nll +// compile-flags: -Zborrowck=mir #![allow(dead_code)] @@ -16,7 +16,7 @@ fn bar<'a>(input: &'a u32, f: fn(&'a u32) -> &'a u32) -> &'static u32 { // Here the NLL checker must relate the types in `f` to the types // in `g`. These are related via the `UnsafeFnPointer` cast. let g: unsafe fn(_) -> _ = f; - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR free region `'a` does not outlive free region `'static` unsafe { g(input) } } diff --git a/src/test/compile-fail/mir_check_cast_unsize.rs b/src/test/compile-fail/mir_check_cast_unsize.rs index 1df56793f73..e30bed61058 100644 --- a/src/test/compile-fail/mir_check_cast_unsize.rs +++ b/src/test/compile-fail/mir_check_cast_unsize.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags: -Z borrowck=mir -Z nll +// compile-flags: -Z borrowck=mir #![allow(dead_code)] #![feature(dyn_trait)] @@ -18,7 +18,7 @@ use std::fmt::Debug; fn bar<'a>(x: &'a u32) -> &'static dyn Debug { //~^ ERROR free region `'a` does not outlive free region `'static` x - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll } fn main() {} diff --git a/src/test/compile-fail/mut-pattern-internal-mutability.rs b/src/test/compile-fail/mut-pattern-internal-mutability.rs index 72727cdfe54..a05ee64937e 100644 --- a/src/test/compile-fail/mut-pattern-internal-mutability.rs +++ b/src/test/compile-fail/mut-pattern-internal-mutability.rs @@ -25,5 +25,6 @@ fn main() { // check borrowing is detected successfully let &mut ref x = foo; *foo += 1; //[ast]~ ERROR cannot assign to `*foo` because it is borrowed - //[mir]~^ ERROR cannot assign to `*foo` because it is borrowed + //[mir]~^ ERROR cannot assign to `*foo` because it is borrowed + drop(x); } diff --git a/src/test/compile-fail/nll/loan_ends_mid_block_pair.rs b/src/test/compile-fail/nll/loan_ends_mid_block_pair.rs index fdc650a0721..97126e98cbf 100644 --- a/src/test/compile-fail/nll/loan_ends_mid_block_pair.rs +++ b/src/test/compile-fail/nll/loan_ends_mid_block_pair.rs @@ -9,7 +9,7 @@ // except according to those terms. -// compile-flags:-Zborrowck=compare -Znll +// compile-flags:-Zborrowck=compare #![allow(warnings)] #![feature(rustc_attrs)] diff --git a/src/test/compile-fail/nll/loan_ends_mid_block_vec.rs b/src/test/compile-fail/nll/loan_ends_mid_block_vec.rs index f22d2fc23e0..b5357d0ee82 100644 --- a/src/test/compile-fail/nll/loan_ends_mid_block_vec.rs +++ b/src/test/compile-fail/nll/loan_ends_mid_block_vec.rs @@ -9,7 +9,7 @@ // except according to those terms. -// compile-flags:-Zborrowck=compare -Znll +// compile-flags:-Zborrowck=compare #![allow(warnings)] #![feature(rustc_attrs)] diff --git a/src/test/compile-fail/nll/reference-carried-through-struct-field.rs b/src/test/compile-fail/nll/reference-carried-through-struct-field.rs index efa6cc273b6..589a3daa38d 100644 --- a/src/test/compile-fail/nll/reference-carried-through-struct-field.rs +++ b/src/test/compile-fail/nll/reference-carried-through-struct-field.rs @@ -9,7 +9,7 @@ // except according to those terms. //revisions: ast mir -//[mir] compile-flags: -Z borrowck=mir -Z nll +//[mir] compile-flags: -Z borrowck=mir #![allow(unused_assignments)] diff --git a/src/test/compile-fail/nll/region-ends-after-if-condition.rs b/src/test/compile-fail/nll/region-ends-after-if-condition.rs index 1128d65af95..e1c47a6bbff 100644 --- a/src/test/compile-fail/nll/region-ends-after-if-condition.rs +++ b/src/test/compile-fail/nll/region-ends-after-if-condition.rs @@ -12,7 +12,7 @@ // in the type of `p` includes the points after `&v[0]` up to (but not // including) the call to `use_x`. The `else` branch is not included. -// compile-flags:-Zborrowck=compare -Znll +// compile-flags:-Zborrowck=compare #![allow(warnings)] #![feature(rustc_attrs)] diff --git a/src/test/compile-fail/nll/return_from_loop.rs b/src/test/compile-fail/nll/return_from_loop.rs index 7ed59ef2a87..13f1ca6431b 100644 --- a/src/test/compile-fail/nll/return_from_loop.rs +++ b/src/test/compile-fail/nll/return_from_loop.rs @@ -12,7 +12,7 @@ // in the type of `p` includes the points after `&v[0]` up to (but not // including) the call to `use_x`. The `else` branch is not included. -// compile-flags:-Zborrowck=compare -Znll +// compile-flags:-Zborrowck=compare #![allow(warnings)] #![feature(rustc_attrs)] diff --git a/src/test/compile-fail/nll/where_clauses_in_functions.rs b/src/test/compile-fail/nll/where_clauses_in_functions.rs index ecea8756903..1a3dc76005d 100644 --- a/src/test/compile-fail/nll/where_clauses_in_functions.rs +++ b/src/test/compile-fail/nll/where_clauses_in_functions.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags: -Z borrowck=mir -Z nll +// compile-flags: -Zborrowck=mir #![allow(dead_code)] @@ -22,7 +22,7 @@ where fn bar<'a, 'b>(x: &'a u32, y: &'b u32) -> (&'a u32, &'b u32) { foo(x, y) //~^ ERROR lifetime mismatch [E0623] - //~| WARNING not reporting region error due to -Znll + //~| WARNING not reporting region error due to nll } fn main() {} diff --git a/src/test/compile-fail/nll/where_clauses_in_structs.rs b/src/test/compile-fail/nll/where_clauses_in_structs.rs index f1a6dc48e13..69f0f43af13 100644 --- a/src/test/compile-fail/nll/where_clauses_in_structs.rs +++ b/src/test/compile-fail/nll/where_clauses_in_structs.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags: -Z borrowck=mir -Z nll +// compile-flags: -Z borrowck=mir #![allow(dead_code)] @@ -22,7 +22,7 @@ struct Foo<'a: 'b, 'b> { fn bar<'a, 'b>(x: Cell<&'a u32>, y: Cell<&'b u32>) { Foo { x, y }; //~^ ERROR lifetime mismatch [E0623] - //~| WARNING not reporting region error due to -Znll + //~| WARNING not reporting region error due to nll } fn main() {} diff --git a/src/test/compile-fail/regions-pattern-typing-issue-19997.rs b/src/test/compile-fail/regions-pattern-typing-issue-19997.rs index 6fbc65ce6a7..1f23dcbb725 100644 --- a/src/test/compile-fail/regions-pattern-typing-issue-19997.rs +++ b/src/test/compile-fail/regions-pattern-typing-issue-19997.rs @@ -18,7 +18,8 @@ fn main() { match (&a1,) { (&ref b0,) => { a1 = &f; //[ast]~ ERROR cannot assign - //[mir]~^ ERROR cannot assign to `a1` because it is borrowed + //[mir]~^ ERROR cannot assign to `a1` because it is borrowed + drop(b0); } } } diff --git a/src/test/compile-fail/regions-static-bound.rs b/src/test/compile-fail/regions-static-bound.rs index 13f93090fbb..a0097b9f6d7 100644 --- a/src/test/compile-fail/regions-static-bound.rs +++ b/src/test/compile-fail/regions-static-bound.rs @@ -9,7 +9,7 @@ // except according to those terms. // revisions: ll nll -//[nll] compile-flags: -Znll -Zborrowck=mir +//[nll] compile-flags:-Zborrowck=mir fn static_id<'a,'b>(t: &'a ()) -> &'static () where 'a: 'static { t } @@ -17,16 +17,16 @@ fn static_id_indirect<'a,'b>(t: &'a ()) -> &'static () where 'a: 'b, 'b: 'static { t } fn static_id_wrong_way<'a>(t: &'a ()) -> &'static () where 'static: 'a { t //[ll]~ ERROR E0312 - //[nll]~^ WARNING not reporting region error due to -Znll + //[nll]~^ WARNING not reporting region error due to nll //[nll]~| ERROR free region `'a` does not outlive free region `'static` } fn error(u: &(), v: &()) { static_id(&u); //[ll]~ ERROR explicit lifetime required in the type of `u` [E0621] - //[nll]~^ WARNING not reporting region error due to -Znll + //[nll]~^ WARNING not reporting region error due to nll //[nll]~| ERROR explicit lifetime required in the type of `u` [E0621] static_id_indirect(&v); //[ll]~ ERROR explicit lifetime required in the type of `v` [E0621] - //[nll]~^ WARNING not reporting region error due to -Znll + //[nll]~^ WARNING not reporting region error due to nll //[nll]~| ERROR explicit lifetime required in the type of `v` [E0621] } diff --git a/src/test/mir-opt/nll/liveness-call-subtlety.rs b/src/test/mir-opt/nll/liveness-call-subtlety.rs index 09288cf69ff..f41b39845a5 100644 --- a/src/test/mir-opt/nll/liveness-call-subtlety.rs +++ b/src/test/mir-opt/nll/liveness-call-subtlety.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags:-Znll +// compile-flags:-Zborrowck=mir fn can_panic() -> Box<usize> { Box::new(44) diff --git a/src/test/mir-opt/nll/liveness-drop-intra-block.rs b/src/test/mir-opt/nll/liveness-drop-intra-block.rs index 64ffc744606..073b44d6e33 100644 --- a/src/test/mir-opt/nll/liveness-drop-intra-block.rs +++ b/src/test/mir-opt/nll/liveness-drop-intra-block.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags:-Znll +// compile-flags:-Zborrowck=mir #![allow(warnings)] diff --git a/src/test/mir-opt/nll/liveness-interblock.rs b/src/test/mir-opt/nll/liveness-interblock.rs index 671f5e5292a..6a874908406 100644 --- a/src/test/mir-opt/nll/liveness-interblock.rs +++ b/src/test/mir-opt/nll/liveness-interblock.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags:-Znll +// compile-flags:-Zborrowck=mir fn cond() -> bool { false } diff --git a/src/test/mir-opt/nll/named-lifetimes-basic.rs b/src/test/mir-opt/nll/named-lifetimes-basic.rs index 8feac15d69a..5cca3e55259 100644 --- a/src/test/mir-opt/nll/named-lifetimes-basic.rs +++ b/src/test/mir-opt/nll/named-lifetimes-basic.rs @@ -13,8 +13,8 @@ // suitable variables and that we setup the outlives relationship // between R0 and R1 properly. -// compile-flags:-Znll -Zverbose -// ^^^^^^^^^ force compiler to dump more region information +// compile-flags:-Zborrowck=mir -Zverbose +// ^^^^^^^^^ force compiler to dump more region information // ignore-tidy-linelength #![allow(warnings)] diff --git a/src/test/mir-opt/nll/reborrow-basic.rs b/src/test/mir-opt/nll/reborrow-basic.rs index 92e42a73bbb..b7c8d81b77f 100644 --- a/src/test/mir-opt/nll/reborrow-basic.rs +++ b/src/test/mir-opt/nll/reborrow-basic.rs @@ -12,8 +12,8 @@ // in the type of `r_a` must outlive the region (`R7`) that appears in // the type of `r_b` -// compile-flags:-Znll -Zverbose -// ^^^^^^^^^ force compiler to dump more region information +// compile-flags:-Zborrowck=mir -Zverbose +// ^^^^^^^^^ force compiler to dump more region information #![allow(warnings)] diff --git a/src/test/mir-opt/nll/region-liveness-basic.rs b/src/test/mir-opt/nll/region-liveness-basic.rs index 19d733d4f6b..75d8a6a4f6a 100644 --- a/src/test/mir-opt/nll/region-liveness-basic.rs +++ b/src/test/mir-opt/nll/region-liveness-basic.rs @@ -12,8 +12,8 @@ // in the type of `p` includes the points after `&v[0]` up to (but not // including) the call to `use_x`. The `else` branch is not included. -// compile-flags:-Znll -Zverbose -// ^^^^^^^^^ force compiler to dump more region information +// compile-flags:-Zborrowck=mir -Zverbose +// ^^^^^^^^^ force compiler to dump more region information #![allow(warnings)] diff --git a/src/test/mir-opt/nll/region-liveness-two-disjoint-uses.rs b/src/test/mir-opt/nll/region-liveness-two-disjoint-uses.rs index 821cd736671..153739133ac 100644 --- a/src/test/mir-opt/nll/region-liveness-two-disjoint-uses.rs +++ b/src/test/mir-opt/nll/region-liveness-two-disjoint-uses.rs @@ -14,8 +14,8 @@ // but only at a particular point, and hence they wind up including // distinct regions. -// compile-flags:-Znll -Zverbose -// ^^^^^^^^^ force compiler to dump more region information +// compile-flags:-Zborrowck=mir -Zverbose +// ^^^^^^^^^ force compiler to dump more region information #![allow(warnings)] diff --git a/src/test/mir-opt/nll/region-subtyping-basic.rs b/src/test/mir-opt/nll/region-subtyping-basic.rs index a3f68ed5ebf..16952143d0a 100644 --- a/src/test/mir-opt/nll/region-subtyping-basic.rs +++ b/src/test/mir-opt/nll/region-subtyping-basic.rs @@ -12,8 +12,8 @@ // in the type of `p` includes the points after `&v[0]` up to (but not // including) the call to `use_x`. The `else` branch is not included. -// compile-flags:-Znll -Zverbose -// ^^^^^^^^^ force compiler to dump more region information +// compile-flags:-Zborrowck=mir -Zverbose +// ^^^^^^^^^ force compiler to dump more region information #![allow(warnings)] diff --git a/src/test/run-pass/borrowck/two-phase-baseline.rs b/src/test/run-pass/borrowck/two-phase-baseline.rs index 66234449263..ca15591a101 100644 --- a/src/test/run-pass/borrowck/two-phase-baseline.rs +++ b/src/test/run-pass/borrowck/two-phase-baseline.rs @@ -8,9 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// revisions: lxl nll -//[lxl]compile-flags: -Z borrowck=mir -Z two-phase-borrows -//[nll]compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z nll +// compile-flags: -Z borrowck=mir -Z two-phase-borrows // This is the "goto example" for why we want two phase borrows. diff --git a/src/test/run-pass/impl-trait/example-calendar.rs b/src/test/run-pass/impl-trait/example-calendar.rs index b1db2030717..e3b7322e48b 100644 --- a/src/test/run-pass/impl-trait/example-calendar.rs +++ b/src/test/run-pass/impl-trait/example-calendar.rs @@ -9,7 +9,7 @@ // except according to those terms. // revisions: normal nll -//[nll] compile-flags: -Znll -Zborrowck=mir +//[nll] compile-flags:-Zborrowck=mir #![feature(fn_traits, step_trait, diff --git a/src/test/ui/borrowck/borrowck-closures-two-mut.rs b/src/test/ui/borrowck/borrowck-closures-two-mut.rs index b6946154fa0..55e73af9e6a 100644 --- a/src/test/ui/borrowck/borrowck-closures-two-mut.rs +++ b/src/test/ui/borrowck/borrowck-closures-two-mut.rs @@ -23,6 +23,7 @@ fn a() { let c1 = to_fn_mut(|| x = 4); let c2 = to_fn_mut(|| x = 5); //~ ERROR cannot borrow `x` as mutable more than once //~| ERROR cannot borrow `x` as mutable more than once + drop((c1, c2)); } fn set(x: &mut isize) { @@ -34,6 +35,7 @@ fn b() { let c1 = to_fn_mut(|| set(&mut x)); let c2 = to_fn_mut(|| set(&mut x)); //~ ERROR cannot borrow `x` as mutable more than once //~| ERROR cannot borrow `x` as mutable more than once + drop((c1, c2)); } fn c() { @@ -41,6 +43,7 @@ fn c() { let c1 = to_fn_mut(|| x = 5); let c2 = to_fn_mut(|| set(&mut x)); //~ ERROR cannot borrow `x` as mutable more than once //~| ERROR cannot borrow `x` as mutable more than once + drop((c1, c2)); } fn d() { @@ -49,6 +52,7 @@ fn d() { let c2 = to_fn_mut(|| { let _y = to_fn_mut(|| set(&mut x)); }); // (nested closure) //~^ ERROR cannot borrow `x` as mutable more than once //~| ERROR cannot borrow `x` as mutable more than once + drop((c1, c2)); } fn g() { @@ -61,6 +65,7 @@ fn g() { let c2 = to_fn_mut(|| set(&mut *x.f)); //~^ ERROR cannot borrow `x` as mutable more than once //~| ERROR cannot borrow `x` as mutable more than once + drop((c1, c2)); } fn main() { diff --git a/src/test/ui/borrowck/borrowck-closures-two-mut.stderr b/src/test/ui/borrowck/borrowck-closures-two-mut.stderr index c739165ddbd..a4f8e8b408b 100644 --- a/src/test/ui/borrowck/borrowck-closures-two-mut.stderr +++ b/src/test/ui/borrowck/borrowck-closures-two-mut.stderr @@ -9,12 +9,12 @@ LL | let c2 = to_fn_mut(|| x = 5); //~ ERROR cannot borrow `x` as mutable mo | ^^ - borrow occurs due to use of `x` in closure | | | second mutable borrow occurs here -LL | //~| ERROR cannot borrow `x` as mutable more than once +... LL | } | - first borrow ends here error[E0499]: cannot borrow `x` as mutable more than once at a time (Ast) - --> $DIR/borrowck-closures-two-mut.rs:35:24 + --> $DIR/borrowck-closures-two-mut.rs:36:24 | LL | let c1 = to_fn_mut(|| set(&mut x)); | -- - previous borrow occurs due to use of `x` in closure @@ -24,12 +24,12 @@ LL | let c2 = to_fn_mut(|| set(&mut x)); //~ ERROR cannot borrow `x` as muta | ^^ - borrow occurs due to use of `x` in closure | | | second mutable borrow occurs here -LL | //~| ERROR cannot borrow `x` as mutable more than once +... LL | } | - first borrow ends here error[E0499]: cannot borrow `x` as mutable more than once at a time (Ast) - --> $DIR/borrowck-closures-two-mut.rs:42:24 + --> $DIR/borrowck-closures-two-mut.rs:44:24 | LL | let c1 = to_fn_mut(|| x = 5); | -- - previous borrow occurs due to use of `x` in closure @@ -39,12 +39,12 @@ LL | let c2 = to_fn_mut(|| set(&mut x)); //~ ERROR cannot borrow `x` as muta | ^^ - borrow occurs due to use of `x` in closure | | | second mutable borrow occurs here -LL | //~| ERROR cannot borrow `x` as mutable more than once +... LL | } | - first borrow ends here error[E0499]: cannot borrow `x` as mutable more than once at a time (Ast) - --> $DIR/borrowck-closures-two-mut.rs:49:24 + --> $DIR/borrowck-closures-two-mut.rs:52:24 | LL | let c1 = to_fn_mut(|| x = 5); | -- - previous borrow occurs due to use of `x` in closure @@ -59,7 +59,7 @@ LL | } | - first borrow ends here error[E0499]: cannot borrow `x` as mutable more than once at a time (Ast) - --> $DIR/borrowck-closures-two-mut.rs:61:24 + --> $DIR/borrowck-closures-two-mut.rs:65:24 | LL | let c1 = to_fn_mut(|| set(&mut *x.f)); | -- - previous borrow occurs due to use of `x` in closure @@ -85,11 +85,11 @@ LL | let c2 = to_fn_mut(|| x = 5); //~ ERROR cannot borrow `x` as mutable mo | | | second mutable borrow occurs here LL | //~| ERROR cannot borrow `x` as mutable more than once -LL | } - | - first borrow ends here +LL | drop((c1, c2)); + | -- borrow later used here error[E0499]: cannot borrow `x` as mutable more than once at a time (Mir) - --> $DIR/borrowck-closures-two-mut.rs:35:24 + --> $DIR/borrowck-closures-two-mut.rs:36:24 | LL | let c1 = to_fn_mut(|| set(&mut x)); | -- - previous borrow occurs due to use of `x` in closure @@ -100,11 +100,11 @@ LL | let c2 = to_fn_mut(|| set(&mut x)); //~ ERROR cannot borrow `x` as muta | | | second mutable borrow occurs here LL | //~| ERROR cannot borrow `x` as mutable more than once -LL | } - | - first borrow ends here +LL | drop((c1, c2)); + | -- borrow later used here error[E0499]: cannot borrow `x` as mutable more than once at a time (Mir) - --> $DIR/borrowck-closures-two-mut.rs:42:24 + --> $DIR/borrowck-closures-two-mut.rs:44:24 | LL | let c1 = to_fn_mut(|| x = 5); | -- - previous borrow occurs due to use of `x` in closure @@ -115,11 +115,11 @@ LL | let c2 = to_fn_mut(|| set(&mut x)); //~ ERROR cannot borrow `x` as muta | | | second mutable borrow occurs here LL | //~| ERROR cannot borrow `x` as mutable more than once -LL | } - | - first borrow ends here +LL | drop((c1, c2)); + | -- borrow later used here error[E0499]: cannot borrow `x` as mutable more than once at a time (Mir) - --> $DIR/borrowck-closures-two-mut.rs:49:24 + --> $DIR/borrowck-closures-two-mut.rs:52:24 | LL | let c1 = to_fn_mut(|| x = 5); | -- - previous borrow occurs due to use of `x` in closure @@ -130,11 +130,11 @@ LL | let c2 = to_fn_mut(|| { let _y = to_fn_mut(|| set(&mut x)); }); // (nes | | | second mutable borrow occurs here ... -LL | } - | - first borrow ends here +LL | drop((c1, c2)); + | -- borrow later used here error[E0499]: cannot borrow `x` as mutable more than once at a time (Mir) - --> $DIR/borrowck-closures-two-mut.rs:61:24 + --> $DIR/borrowck-closures-two-mut.rs:65:24 | LL | let c1 = to_fn_mut(|| set(&mut *x.f)); | -- - previous borrow occurs due to use of `x` in closure @@ -145,8 +145,8 @@ LL | let c2 = to_fn_mut(|| set(&mut *x.f)); | | | second mutable borrow occurs here ... -LL | } - | - first borrow ends here +LL | drop((c1, c2)); + | -- borrow later used here error: aborting due to 10 previous errors diff --git a/src/test/ui/borrowck/two-phase-method-receivers.rs b/src/test/ui/borrowck/two-phase-method-receivers.rs index e690263a916..6d7ed61bdd8 100644 --- a/src/test/ui/borrowck/two-phase-method-receivers.rs +++ b/src/test/ui/borrowck/two-phase-method-receivers.rs @@ -8,9 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// revisions: lxl nll -//[lxl]compile-flags: -Z borrowck=mir -Z two-phase-borrows -//[nll]compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z nll +// compile-flags: -Z borrowck=mir -Z two-phase-borrows // run-pass diff --git a/src/test/ui/borrowck/two-phase-multiple-activations.rs b/src/test/ui/borrowck/two-phase-multiple-activations.rs index e1ed41bfb2c..9ea9696511b 100644 --- a/src/test/ui/borrowck/two-phase-multiple-activations.rs +++ b/src/test/ui/borrowck/two-phase-multiple-activations.rs @@ -8,9 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// revisions: lxl nll -//[lxl]compile-flags: -Z borrowck=mir -Z two-phase-borrows -//[nll]compile-flags: -Z borrowck=mir -Z two-phase-borrows -Z nll +// compile-flags: -Z borrowck=mir -Z two-phase-borrows // run-pass diff --git a/src/test/ui/issue-45697-1.rs b/src/test/ui/issue-45697-1.rs index 7734b14b2ab..b8be209833a 100644 --- a/src/test/ui/issue-45697-1.rs +++ b/src/test/ui/issue-45697-1.rs @@ -30,6 +30,7 @@ fn main() { *y.pointer += 1; //~^ ERROR cannot assign to `*y.pointer` because it is borrowed (Ast) [E0506] //~| ERROR cannot use `*y.pointer` because it was mutably borrowed (Mir) [E0503] + //~| ERROR cannot assign to `*y.pointer` because it is borrowed (Mir) [E0506] *z.pointer += 1; } } diff --git a/src/test/ui/issue-45697-1.stderr b/src/test/ui/issue-45697-1.stderr index aa899c5aee9..cf108691a0e 100644 --- a/src/test/ui/issue-45697-1.stderr +++ b/src/test/ui/issue-45697-1.stderr @@ -13,8 +13,22 @@ LL | let z = copy_borrowed_ptr(&mut y); | ------ borrow of `y` occurs here LL | *y.pointer += 1; | ^^^^^^^^^^^^^^^ use of borrowed `y` +... +LL | *z.pointer += 1; + | --------------- borrow later used here -error: aborting due to 2 previous errors +error[E0506]: cannot assign to `*y.pointer` because it is borrowed (Mir) + --> $DIR/issue-45697-1.rs:30:9 + | +LL | let z = copy_borrowed_ptr(&mut y); + | ------ borrow of `*y.pointer` occurs here +LL | *y.pointer += 1; + | ^^^^^^^^^^^^^^^ assignment to borrowed `*y.pointer` occurs here +... +LL | *z.pointer += 1; + | --------------- borrow later used here + +error: aborting due to 3 previous errors Some errors occurred: E0503, E0506. For more information about an error, try `rustc --explain E0503`. diff --git a/src/test/ui/issue-45697.rs b/src/test/ui/issue-45697.rs index 4e93eccd6f6..27acc2c89f7 100644 --- a/src/test/ui/issue-45697.rs +++ b/src/test/ui/issue-45697.rs @@ -30,6 +30,7 @@ fn main() { *y.pointer += 1; //~^ ERROR cannot assign to `*y.pointer` because it is borrowed (Ast) [E0506] //~| ERROR cannot use `*y.pointer` because it was mutably borrowed (Mir) [E0503] + //~| ERROR cannot assign to `*y.pointer` because it is borrowed (Mir) [E0506] *z.pointer += 1; } } diff --git a/src/test/ui/issue-45697.stderr b/src/test/ui/issue-45697.stderr index babfc33b945..a85972fcd7a 100644 --- a/src/test/ui/issue-45697.stderr +++ b/src/test/ui/issue-45697.stderr @@ -13,8 +13,22 @@ LL | let z = copy_borrowed_ptr(&mut y); | ------ borrow of `y` occurs here LL | *y.pointer += 1; | ^^^^^^^^^^^^^^^ use of borrowed `y` +... +LL | *z.pointer += 1; + | --------------- borrow later used here -error: aborting due to 2 previous errors +error[E0506]: cannot assign to `*y.pointer` because it is borrowed (Mir) + --> $DIR/issue-45697.rs:30:9 + | +LL | let z = copy_borrowed_ptr(&mut y); + | ------ borrow of `*y.pointer` occurs here +LL | *y.pointer += 1; + | ^^^^^^^^^^^^^^^ assignment to borrowed `*y.pointer` occurs here +... +LL | *z.pointer += 1; + | --------------- borrow later used here + +error: aborting due to 3 previous errors Some errors occurred: E0503, E0506. For more information about an error, try `rustc --explain E0503`. diff --git a/src/test/ui/issue-46471-1.stderr b/src/test/ui/issue-46471-1.stderr index bfd5bfa9f72..0108056bc72 100644 --- a/src/test/ui/issue-46471-1.stderr +++ b/src/test/ui/issue-46471-1.stderr @@ -12,13 +12,16 @@ LL | } error[E0597]: `z` does not live long enough (Mir) --> $DIR/issue-46471-1.rs:16:9 | -LL | &mut z - | ^^^^^^ borrowed value does not live long enough -LL | }; - | - `z` dropped here while still borrowed -... -LL | } - | - borrowed value needs to live until here +LL | let y = { + | _____________- +LL | | let mut z = 0; +LL | | &mut z + | | ^^^^^^ borrowed value does not live long enough +LL | | }; + | | - + | | | + | |_____borrowed value only lives until here + | borrow later used here error: aborting due to 2 previous errors diff --git a/src/test/ui/nll/closure-requirements/escape-argument-callee.rs b/src/test/ui/nll/closure-requirements/escape-argument-callee.rs index 41c744fec6e..1e168028c7c 100644 --- a/src/test/ui/nll/closure-requirements/escape-argument-callee.rs +++ b/src/test/ui/nll/closure-requirements/escape-argument-callee.rs @@ -22,7 +22,7 @@ // that appear free in its type (hence, we see it before the closure's // "external requirements" report). -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![feature(rustc_attrs)] @@ -35,7 +35,7 @@ fn test() { let y = 22; let mut closure = expect_sig(|p, y| *p = y); //~^ ERROR does not outlive free region - //~| WARNING not reporting region error due to -Znll + //~| WARNING not reporting region error due to nll closure(&mut p, &y); } diff --git a/src/test/ui/nll/closure-requirements/escape-argument-callee.stderr b/src/test/ui/nll/closure-requirements/escape-argument-callee.stderr index 5f84001a8fb..d876c751a41 100644 --- a/src/test/ui/nll/closure-requirements/escape-argument-callee.stderr +++ b/src/test/ui/nll/closure-requirements/escape-argument-callee.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/escape-argument-callee.rs:36:50 | LL | let mut closure = expect_sig(|p, y| *p = y); diff --git a/src/test/ui/nll/closure-requirements/escape-argument.rs b/src/test/ui/nll/closure-requirements/escape-argument.rs index 7e918c6431d..7a28cb26f35 100644 --- a/src/test/ui/nll/closure-requirements/escape-argument.rs +++ b/src/test/ui/nll/closure-requirements/escape-argument.rs @@ -22,7 +22,7 @@ // basically checking that the MIR type checker correctly enforces the // closure signature. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![feature(rustc_attrs)] 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 05700ae00ad..598839f872e 100644 --- a/src/test/ui/nll/closure-requirements/escape-upvar-nested.rs +++ b/src/test/ui/nll/closure-requirements/escape-upvar-nested.rs @@ -15,7 +15,7 @@ // // except that the closure does so via a second closure. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![feature(rustc_attrs)] 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 93d8bfafcba..49d31bbc139 100644 --- a/src/test/ui/nll/closure-requirements/escape-upvar-ref.rs +++ b/src/test/ui/nll/closure-requirements/escape-upvar-ref.rs @@ -19,7 +19,7 @@ // `'b`. This relationship is propagated to the closure creator, // which reports an error. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![feature(rustc_attrs)] diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-fail-no-postdom.rs b/src/test/ui/nll/closure-requirements/propagate-approximated-fail-no-postdom.rs index 30a6dfc5b3e..e7ec0b9684d 100644 --- a/src/test/ui/nll/closure-requirements/propagate-approximated-fail-no-postdom.rs +++ b/src/test/ui/nll/closure-requirements/propagate-approximated-fail-no-postdom.rs @@ -11,7 +11,7 @@ // Test where we fail to approximate due to demanding a postdom // relationship between our upper bounds. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![feature(rustc_attrs)] @@ -53,7 +53,7 @@ fn supply<'a, 'b, 'c>(cell_a: Cell<&'a u32>, cell_b: Cell<&'b u32>, cell_c: Cell |_outlives1, _outlives2, _outlives3, x, y| { // Only works if 'x: 'y: let p = x.get(); - //~^ WARN not reporting region error due to -Znll + //~^ WARN not reporting region error due to nll //~| ERROR does not outlive free region demand_y(x, y, p) }, diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-fail-no-postdom.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-fail-no-postdom.stderr index 0c058e40a50..ef5a31e40d4 100644 --- a/src/test/ui/nll/closure-requirements/propagate-approximated-fail-no-postdom.stderr +++ b/src/test/ui/nll/closure-requirements/propagate-approximated-fail-no-postdom.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/propagate-approximated-fail-no-postdom.rs:55:21 | LL | let p = x.get(); @@ -16,7 +16,7 @@ note: No external requirements LL | / |_outlives1, _outlives2, _outlives3, x, y| { LL | | // Only works if 'x: 'y: LL | | let p = x.get(); -LL | | //~^ WARN not reporting region error due to -Znll +LL | | //~^ WARN not reporting region error due to nll LL | | //~| ERROR does not outlive free region LL | | demand_y(x, y, p) LL | | }, diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-ref.rs b/src/test/ui/nll/closure-requirements/propagate-approximated-ref.rs index 91128035f3d..da8ce55162f 100644 --- a/src/test/ui/nll/closure-requirements/propagate-approximated-ref.rs +++ b/src/test/ui/nll/closure-requirements/propagate-approximated-ref.rs @@ -22,7 +22,7 @@ // Note: the use of `Cell` here is to introduce invariance. One less // variable. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![feature(rustc_attrs)] @@ -54,7 +54,7 @@ fn supply<'a, 'b>(cell_a: Cell<&'a u32>, cell_b: Cell<&'b u32>) { //~^ ERROR lifetime mismatch // Only works if 'x: 'y: - demand_y(x, y, x.get()) //~ WARNING not reporting region error due to -Znll + demand_y(x, y, x.get()) //~ WARNING not reporting region error due to nll }); } diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-ref.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-ref.stderr index 947b95b1c53..3a3236fd16c 100644 --- a/src/test/ui/nll/closure-requirements/propagate-approximated-ref.stderr +++ b/src/test/ui/nll/closure-requirements/propagate-approximated-ref.stderr @@ -1,7 +1,7 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/propagate-approximated-ref.rs:57:9 | -LL | demand_y(x, y, x.get()) //~ WARNING not reporting region error due to -Znll +LL | demand_y(x, y, x.get()) //~ WARNING not reporting region error due to nll | ^^^^^^^^^^^^^^^^^^^^^^^ note: External requirements @@ -12,7 +12,7 @@ LL | establish_relationships(&cell_a, &cell_b, |_outlives1, _outlives2, x, LL | | //~^ ERROR lifetime mismatch LL | | LL | | // Only works if 'x: 'y: -LL | | demand_y(x, y, x.get()) //~ WARNING not reporting region error due to -Znll +LL | | demand_y(x, y, x.get()) //~ WARNING not reporting region error due to nll LL | | }); | |_____^ | diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.rs b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.rs index f210346a82a..84bfd6ea4f2 100644 --- a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.rs +++ b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.rs @@ -12,7 +12,7 @@ // where `'x` is bound in closure type but `'a` is free. This forces // us to approximate `'x` one way or the other. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![feature(rustc_attrs)] @@ -29,7 +29,7 @@ fn case1() { let a = 0; let cell = Cell::new(&a); foo(cell, |cell_a, cell_x| { - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll cell_a.set(cell_x.get()); // forces 'x: 'a, error in closure //~^ ERROR does not outlive free region }) diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.stderr index d39cdc34471..6480cbe4431 100644 --- a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.stderr +++ b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/propagate-approximated-shorter-to-static-comparing-against-free.rs:31:5 | LL | foo(cell, |cell_a, cell_x| { @@ -15,7 +15,7 @@ note: No external requirements | LL | foo(cell, |cell_a, cell_x| { | _______________^ -LL | | //~^ WARNING not reporting region error due to -Znll +LL | | //~^ WARNING not reporting region error due to nll LL | | cell_a.set(cell_x.get()); // forces 'x: 'a, error in closure LL | | //~^ ERROR does not outlive free region LL | | }) diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.rs b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.rs index c66472d5ce9..df715c52921 100644 --- a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.rs +++ b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.rs @@ -16,7 +16,7 @@ // FIXME(#45827) Because of shortcomings in the MIR type checker, // these errors are not (yet) reported. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![feature(rustc_attrs)] @@ -46,7 +46,7 @@ fn supply<'a, 'b>(cell_a: Cell<&'a u32>, cell_b: Cell<&'b u32>) { //~^ ERROR does not outlive free region // Only works if 'x: 'y: - demand_y(x, y, x.get()) //~ WARNING not reporting region error due to -Znll + demand_y(x, y, x.get()) //~ WARNING not reporting region error due to nll }); } diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.stderr index 3131142ec73..6dcc8421177 100644 --- a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.stderr +++ b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.stderr @@ -1,7 +1,7 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/propagate-approximated-shorter-to-static-no-bound.rs:49:9 | -LL | demand_y(x, y, x.get()) //~ WARNING not reporting region error due to -Znll +LL | demand_y(x, y, x.get()) //~ WARNING not reporting region error due to nll | ^^^^^^^^^^^^^^^^^^^^^^^ note: External requirements @@ -12,7 +12,7 @@ LL | establish_relationships(&cell_a, &cell_b, |_outlives, x, y| { LL | | //~^ ERROR does not outlive free region LL | | LL | | // Only works if 'x: 'y: -LL | | demand_y(x, y, x.get()) //~ WARNING not reporting region error due to -Znll +LL | | demand_y(x, y, x.get()) //~ WARNING not reporting region error due to nll LL | | }); | |_____^ | @@ -31,7 +31,7 @@ LL | establish_relationships(&cell_a, &cell_b, |_outlives, x, y| { LL | | //~^ ERROR does not outlive free region LL | | LL | | // Only works if 'x: 'y: -LL | | demand_y(x, y, x.get()) //~ WARNING not reporting region error due to -Znll +LL | | demand_y(x, y, x.get()) //~ WARNING not reporting region error due to nll LL | | }); | |_____^ diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.rs b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.rs index f4011a0e533..fdbb312572f 100644 --- a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.rs +++ b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.rs @@ -17,7 +17,7 @@ // FIXME(#45827) Because of shortcomings in the MIR type checker, // these errors are not (yet) reported. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![feature(rustc_attrs)] @@ -49,7 +49,7 @@ fn supply<'a, 'b>(cell_a: Cell<&'a u32>, cell_b: Cell<&'b u32>) { //~^ ERROR does not outlive free region // Only works if 'x: 'y: demand_y(x, y, x.get()) - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll }); } diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr index 5b038653b60..1291f2e9901 100644 --- a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr +++ b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/propagate-approximated-shorter-to-static-wrong-bound.rs:51:9 | LL | demand_y(x, y, x.get()) @@ -12,7 +12,7 @@ LL | establish_relationships(&cell_a, &cell_b, |_outlives1, _outlives2, x, LL | | //~^ ERROR does not outlive free region LL | | // Only works if 'x: 'y: LL | | demand_y(x, y, x.get()) -LL | | //~^ WARNING not reporting region error due to -Znll +LL | | //~^ WARNING not reporting region error due to nll LL | | }); | |_____^ | @@ -31,7 +31,7 @@ LL | establish_relationships(&cell_a, &cell_b, |_outlives1, _outlives2, x, LL | | //~^ ERROR does not outlive free region LL | | // Only works if 'x: 'y: LL | | demand_y(x, y, x.get()) -LL | | //~^ WARNING not reporting region error due to -Znll +LL | | //~^ WARNING not reporting region error due to nll LL | | }); | |_____^ diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-val.rs b/src/test/ui/nll/closure-requirements/propagate-approximated-val.rs index d163f304ae5..0449dc1d1a7 100644 --- a/src/test/ui/nll/closure-requirements/propagate-approximated-val.rs +++ b/src/test/ui/nll/closure-requirements/propagate-approximated-val.rs @@ -15,7 +15,7 @@ // relationships. In the 'main' variant, there are a number of // anonymous regions as well. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![feature(rustc_attrs)] @@ -47,7 +47,7 @@ fn test<'a, 'b>(cell_a: Cell<&'a u32>, cell_b: Cell<&'b u32>) { //~^ ERROR lifetime mismatch // Only works if 'x: 'y: - demand_y(outlives1, outlives2, x.get()) //~ WARNING not reporting region error due to -Znll + demand_y(outlives1, outlives2, x.get()) //~ WARNING not reporting region error due to nll }); } diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-val.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-val.stderr index 475fdd94781..d1824a94151 100644 --- a/src/test/ui/nll/closure-requirements/propagate-approximated-val.stderr +++ b/src/test/ui/nll/closure-requirements/propagate-approximated-val.stderr @@ -1,7 +1,7 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/propagate-approximated-val.rs:50:9 | -LL | demand_y(outlives1, outlives2, x.get()) //~ WARNING not reporting region error due to -Znll +LL | demand_y(outlives1, outlives2, x.get()) //~ WARNING not reporting region error due to nll | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: External requirements @@ -12,7 +12,7 @@ LL | establish_relationships(cell_a, cell_b, |outlives1, outlives2, x, y| LL | | //~^ ERROR lifetime mismatch LL | | LL | | // Only works if 'x: 'y: -LL | | demand_y(outlives1, outlives2, x.get()) //~ WARNING not reporting region error due to -Znll +LL | | demand_y(outlives1, outlives2, x.get()) //~ WARNING not reporting region error due to nll LL | | }); | |_____^ | diff --git a/src/test/ui/nll/closure-requirements/propagate-despite-same-free-region.rs b/src/test/ui/nll/closure-requirements/propagate-despite-same-free-region.rs index 1ccfa61f4ce..c21c824b22c 100644 --- a/src/test/ui/nll/closure-requirements/propagate-despite-same-free-region.rs +++ b/src/test/ui/nll/closure-requirements/propagate-despite-same-free-region.rs @@ -13,7 +13,7 @@ // need to propagate; but in fact we do because identity of free // regions is erased. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose // compile-pass #![feature(rustc_attrs)] diff --git a/src/test/ui/nll/closure-requirements/propagate-despite-same-free-region.stderr b/src/test/ui/nll/closure-requirements/propagate-despite-same-free-region.stderr index ab4faaca756..d6eeda881da 100644 --- a/src/test/ui/nll/closure-requirements/propagate-despite-same-free-region.stderr +++ b/src/test/ui/nll/closure-requirements/propagate-despite-same-free-region.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/propagate-despite-same-free-region.rs:54:21 | LL | let p = x.get(); diff --git a/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-no-bounds.rs b/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-no-bounds.rs index eb512a3b9b1..7699d101734 100644 --- a/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-no-bounds.rs +++ b/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-no-bounds.rs @@ -17,7 +17,7 @@ // as it knows of no relationships between `'x` and any // non-higher-ranked regions. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![feature(rustc_attrs)] @@ -45,7 +45,7 @@ fn supply<'a, 'b>(cell_a: Cell<&'a u32>, cell_b: Cell<&'b u32>) { establish_relationships(&cell_a, &cell_b, |_outlives, x, y| { // Only works if 'x: 'y: demand_y(x, y, x.get()) - //~^ WARN not reporting region error due to -Znll + //~^ WARN not reporting region error due to nll //~| ERROR does not outlive free region }); } diff --git a/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-no-bounds.stderr b/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-no-bounds.stderr index ce808f56b42..ffae47bd081 100644 --- a/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-no-bounds.stderr +++ b/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-no-bounds.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/propagate-fail-to-approximate-longer-no-bounds.rs:47:9 | LL | demand_y(x, y, x.get()) @@ -17,7 +17,7 @@ LL | establish_relationships(&cell_a, &cell_b, |_outlives, x, y| { | _______________________________________________^ LL | | // Only works if 'x: 'y: LL | | demand_y(x, y, x.get()) -LL | | //~^ WARN not reporting region error due to -Znll +LL | | //~^ WARN not reporting region error due to nll LL | | //~| ERROR does not outlive free region LL | | }); | |_____^ diff --git a/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.rs b/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.rs index 93074246429..afb61b221be 100644 --- a/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.rs +++ b/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.rs @@ -17,7 +17,7 @@ // as it only knows of regions that `'x` is outlived by, and none that // `'x` outlives. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![feature(rustc_attrs)] @@ -49,7 +49,7 @@ fn supply<'a, 'b>(cell_a: Cell<&'a u32>, cell_b: Cell<&'b u32>) { establish_relationships(&cell_a, &cell_b, |_outlives1, _outlives2, x, y| { // Only works if 'x: 'y: demand_y(x, y, x.get()) - //~^ WARN not reporting region error due to -Znll + //~^ WARN not reporting region error due to nll //~| ERROR does not outlive free region }); } diff --git a/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.stderr b/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.stderr index 547ff75bac6..01af756b833 100644 --- a/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.stderr +++ b/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/propagate-fail-to-approximate-longer-wrong-bounds.rs:51:9 | LL | demand_y(x, y, x.get()) @@ -17,7 +17,7 @@ LL | establish_relationships(&cell_a, &cell_b, |_outlives1, _outlives2, x, | _______________________________________________^ LL | | // Only works if 'x: 'y: LL | | demand_y(x, y, x.get()) -LL | | //~^ WARN not reporting region error due to -Znll +LL | | //~^ WARN not reporting region error due to nll LL | | //~| ERROR does not outlive free region LL | | }); | |_____^ diff --git a/src/test/ui/nll/closure-requirements/propagate-from-trait-match.rs b/src/test/ui/nll/closure-requirements/propagate-from-trait-match.rs index 91796355752..7baf24f88f8 100644 --- a/src/test/ui/nll/closure-requirements/propagate-from-trait-match.rs +++ b/src/test/ui/nll/closure-requirements/propagate-from-trait-match.rs @@ -14,7 +14,7 @@ // the same `'a` for which it implements `Trait`, which can only be the `'a` // from the function definition. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![feature(rustc_attrs)] #![allow(dead_code)] @@ -53,7 +53,7 @@ where // The latter does not hold. require(value); - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll }); } diff --git a/src/test/ui/nll/closure-requirements/propagate-from-trait-match.stderr b/src/test/ui/nll/closure-requirements/propagate-from-trait-match.stderr index 5bdfc7e935f..a8b4ed52801 100644 --- a/src/test/ui/nll/closure-requirements/propagate-from-trait-match.stderr +++ b/src/test/ui/nll/closure-requirements/propagate-from-trait-match.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/propagate-from-trait-match.rs:55:9 | LL | require(value); @@ -13,7 +13,7 @@ LL | | //~^ ERROR the parameter type `T` may not live long enough LL | | LL | | // This function call requires that ... | -LL | | //~^ WARNING not reporting region error due to -Znll +LL | | //~^ WARNING not reporting region error due to nll LL | | }); | |_____^ | @@ -35,7 +35,7 @@ LL | | //~^ ERROR the parameter type `T` may not live long enough LL | | LL | | // This function call requires that ... | -LL | | //~^ WARNING not reporting region error due to -Znll +LL | | //~^ WARNING not reporting region error due to nll LL | | }); | |_____^ | diff --git a/src/test/ui/nll/closure-requirements/region-lbr-anon-does-not-outlive-static.rs b/src/test/ui/nll/closure-requirements/region-lbr-anon-does-not-outlive-static.rs index ac21fe25bd1..a6b2e531ac2 100644 --- a/src/test/ui/nll/closure-requirements/region-lbr-anon-does-not-outlive-static.rs +++ b/src/test/ui/nll/closure-requirements/region-lbr-anon-does-not-outlive-static.rs @@ -13,11 +13,11 @@ // a variety of errors from the older, AST-based machinery (notably // borrowck), and then we get the NLL error at the end. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose fn foo(x: &u32) -> &'static u32 { &*x - //~^ WARN not reporting region error due to -Znll + //~^ WARN not reporting region error due to nll //~| ERROR explicit lifetime required in the type of `x` } diff --git a/src/test/ui/nll/closure-requirements/region-lbr-anon-does-not-outlive-static.stderr b/src/test/ui/nll/closure-requirements/region-lbr-anon-does-not-outlive-static.stderr index 1e93ae1ee07..a823e62d3b8 100644 --- a/src/test/ui/nll/closure-requirements/region-lbr-anon-does-not-outlive-static.stderr +++ b/src/test/ui/nll/closure-requirements/region-lbr-anon-does-not-outlive-static.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/region-lbr-anon-does-not-outlive-static.rs:19:5 | LL | &*x diff --git a/src/test/ui/nll/closure-requirements/region-lbr-named-does-not-outlive-static.rs b/src/test/ui/nll/closure-requirements/region-lbr-named-does-not-outlive-static.rs index a1be8e85185..dedbd8df41b 100644 --- a/src/test/ui/nll/closure-requirements/region-lbr-named-does-not-outlive-static.rs +++ b/src/test/ui/nll/closure-requirements/region-lbr-named-does-not-outlive-static.rs @@ -13,11 +13,11 @@ // a variety of errors from the older, AST-based machinery (notably // borrowck), and then we get the NLL error at the end. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose fn foo<'a>(x: &'a u32) -> &'static u32 { &*x - //~^ WARN not reporting region error due to -Znll + //~^ WARN not reporting region error due to nll //~| ERROR does not outlive free region } diff --git a/src/test/ui/nll/closure-requirements/region-lbr-named-does-not-outlive-static.stderr b/src/test/ui/nll/closure-requirements/region-lbr-named-does-not-outlive-static.stderr index ac3bf4b459f..9520b446303 100644 --- a/src/test/ui/nll/closure-requirements/region-lbr-named-does-not-outlive-static.stderr +++ b/src/test/ui/nll/closure-requirements/region-lbr-named-does-not-outlive-static.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/region-lbr-named-does-not-outlive-static.rs:19:5 | LL | &*x diff --git a/src/test/ui/nll/closure-requirements/region-lbr1-does-not-outlive-ebr2.rs b/src/test/ui/nll/closure-requirements/region-lbr1-does-not-outlive-ebr2.rs index 00b09e2ab21..8598668bef5 100644 --- a/src/test/ui/nll/closure-requirements/region-lbr1-does-not-outlive-ebr2.rs +++ b/src/test/ui/nll/closure-requirements/region-lbr1-does-not-outlive-ebr2.rs @@ -13,11 +13,11 @@ // a variety of errors from the older, AST-based machinery (notably // borrowck), and then we get the NLL error at the end. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose fn foo<'a, 'b>(x: &'a u32, y: &'b u32) -> &'b u32 { &*x - //~^ WARN not reporting region error due to -Znll + //~^ WARN not reporting region error due to nll //~| ERROR lifetime mismatch } diff --git a/src/test/ui/nll/closure-requirements/region-lbr1-does-not-outlive-ebr2.stderr b/src/test/ui/nll/closure-requirements/region-lbr1-does-not-outlive-ebr2.stderr index 3af6d7d21f7..415aefdeee9 100644 --- a/src/test/ui/nll/closure-requirements/region-lbr1-does-not-outlive-ebr2.stderr +++ b/src/test/ui/nll/closure-requirements/region-lbr1-does-not-outlive-ebr2.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/region-lbr1-does-not-outlive-ebr2.rs:19:5 | LL | &*x diff --git a/src/test/ui/nll/closure-requirements/region-lbr1-does-outlive-lbr2-because-implied-bound.rs b/src/test/ui/nll/closure-requirements/region-lbr1-does-outlive-lbr2-because-implied-bound.rs index 7454a8e71f2..6d2bb309802 100644 --- a/src/test/ui/nll/closure-requirements/region-lbr1-does-outlive-lbr2-because-implied-bound.rs +++ b/src/test/ui/nll/closure-requirements/region-lbr1-does-outlive-lbr2-because-implied-bound.rs @@ -11,7 +11,7 @@ // Basic test for free regions in the NLL code. This test does not // report an error because of the (implied) bound that `'b: 'a`. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose // compile-pass #![allow(warnings)] diff --git a/src/test/ui/nll/closure-requirements/return-wrong-bound-region.rs b/src/test/ui/nll/closure-requirements/return-wrong-bound-region.rs index 754df4f2c5d..60f82ca0eef 100644 --- a/src/test/ui/nll/closure-requirements/return-wrong-bound-region.rs +++ b/src/test/ui/nll/closure-requirements/return-wrong-bound-region.rs @@ -12,14 +12,14 @@ // the first, but actually returns the second. This should fail within // the closure. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![feature(rustc_attrs)] #[rustc_regions] fn test() { expect_sig(|a, b| b); // ought to return `a` - //~^ WARN not reporting region error due to -Znll + //~^ WARN not reporting region error due to nll //~| ERROR does not outlive free region } diff --git a/src/test/ui/nll/closure-requirements/return-wrong-bound-region.stderr b/src/test/ui/nll/closure-requirements/return-wrong-bound-region.stderr index b34f4c470df..4d021fb5454 100644 --- a/src/test/ui/nll/closure-requirements/return-wrong-bound-region.stderr +++ b/src/test/ui/nll/closure-requirements/return-wrong-bound-region.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/return-wrong-bound-region.rs:21:23 | LL | expect_sig(|a, b| b); // ought to return `a` @@ -26,7 +26,7 @@ note: No external requirements | LL | / fn test() { LL | | expect_sig(|a, b| b); // ought to return `a` -LL | | //~^ WARN not reporting region error due to -Znll +LL | | //~^ WARN not reporting region error due to nll LL | | //~| ERROR does not outlive free region LL | | } | |_^ diff --git a/src/test/ui/nll/constant.rs b/src/test/ui/nll/constant.rs index 589d8ffd28f..10ce0652d43 100644 --- a/src/test/ui/nll/constant.rs +++ b/src/test/ui/nll/constant.rs @@ -11,7 +11,7 @@ // Test that MIR borrowck and NLL analysis can handle constants of // arbitrary types without ICEs. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose // compile-pass const HI: &str = "hi"; diff --git a/src/test/ui/nll/drop-may-dangle.rs b/src/test/ui/nll/drop-may-dangle.rs index 6dcbe0a528d..b357b3facf9 100644 --- a/src/test/ui/nll/drop-may-dangle.rs +++ b/src/test/ui/nll/drop-may-dangle.rs @@ -12,7 +12,7 @@ // in the type of `p` includes the points after `&v[0]` up to (but not // including) the call to `use_x`. The `else` branch is not included. -// compile-flags:-Znll -Zborrowck=mir +// compile-flags:-Zborrowck=mir // compile-pass #![allow(warnings)] diff --git a/src/test/ui/nll/drop-no-may-dangle.rs b/src/test/ui/nll/drop-no-may-dangle.rs index e5478e39fec..51360931631 100644 --- a/src/test/ui/nll/drop-no-may-dangle.rs +++ b/src/test/ui/nll/drop-no-may-dangle.rs @@ -13,7 +13,7 @@ // because of destructor. (Note that the stderr also identifies this // destructor in the error message.) -// compile-flags:-Znll -Zborrowck=mir +// compile-flags:-Zborrowck=mir #![allow(warnings)] #![feature(dropck_eyepatch)] diff --git a/src/test/ui/nll/get_default.rs b/src/test/ui/nll/get_default.rs index e5944e75e42..728c84695ea 100644 --- a/src/test/ui/nll/get_default.rs +++ b/src/test/ui/nll/get_default.rs @@ -13,7 +13,7 @@ // a variety of errors from the older, AST-based machinery (notably // borrowck), and then we get the NLL error at the end. -// compile-flags:-Znll -Zborrowck=compare +// compile-flags:-Zborrowck=compare struct Map { } diff --git a/src/test/ui/nll/maybe-initialized-drop-implicit-fragment-drop.rs b/src/test/ui/nll/maybe-initialized-drop-implicit-fragment-drop.rs index d4df2a01c81..5538eca3629 100644 --- a/src/test/ui/nll/maybe-initialized-drop-implicit-fragment-drop.rs +++ b/src/test/ui/nll/maybe-initialized-drop-implicit-fragment-drop.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -//compile-flags: -Z emit-end-regions -Zborrowck=mir -Znll +//compile-flags: -Z emit-end-regions -Zborrowck=mir #![allow(warnings)] diff --git a/src/test/ui/nll/maybe-initialized-drop-uninitialized.rs b/src/test/ui/nll/maybe-initialized-drop-uninitialized.rs index 7e8a4e0ec95..ae815a5efe9 100644 --- a/src/test/ui/nll/maybe-initialized-drop-uninitialized.rs +++ b/src/test/ui/nll/maybe-initialized-drop-uninitialized.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -//compile-flags: -Z emit-end-regions -Zborrowck=mir -Z nll +// compile-flags: -Z emit-end-regions -Zborrowck=mir // compile-pass #![allow(warnings)] diff --git a/src/test/ui/nll/maybe-initialized-drop-with-fragment.rs b/src/test/ui/nll/maybe-initialized-drop-with-fragment.rs index 2eb90dca702..00d146e0f02 100644 --- a/src/test/ui/nll/maybe-initialized-drop-with-fragment.rs +++ b/src/test/ui/nll/maybe-initialized-drop-with-fragment.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -//compile-flags: -Z emit-end-regions -Zborrowck=mir -Znll +//compile-flags: -Z emit-end-regions -Zborrowck=mir #![allow(warnings)] diff --git a/src/test/ui/nll/maybe-initialized-drop-with-uninitialized-fragments.rs b/src/test/ui/nll/maybe-initialized-drop-with-uninitialized-fragments.rs index f639d8f243f..cd46014a7f5 100644 --- a/src/test/ui/nll/maybe-initialized-drop-with-uninitialized-fragments.rs +++ b/src/test/ui/nll/maybe-initialized-drop-with-uninitialized-fragments.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -//compile-flags: -Z emit-end-regions -Zborrowck=mir -Znll +//compile-flags: -Z emit-end-regions -Zborrowck=mir #![allow(warnings)] diff --git a/src/test/ui/nll/maybe-initialized-drop.rs b/src/test/ui/nll/maybe-initialized-drop.rs index c2cc479d28e..9a3aca34620 100644 --- a/src/test/ui/nll/maybe-initialized-drop.rs +++ b/src/test/ui/nll/maybe-initialized-drop.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -//compile-flags: -Z emit-end-regions -Zborrowck=mir -Znll +//compile-flags: -Z emit-end-regions -Zborrowck=mir #![allow(warnings)] diff --git a/src/test/ui/nll/projection-return.rs b/src/test/ui/nll/projection-return.rs index 1515911fe87..c1abcb434e6 100644 --- a/src/test/ui/nll/projection-return.rs +++ b/src/test/ui/nll/projection-return.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags:-Znll -Zborrowck=mir +// compile-flags:-Zborrowck=mir // compile-pass #![feature(rustc_attrs)] diff --git a/src/test/ui/nll/ty-outlives/impl-trait-captures.rs b/src/test/ui/nll/ty-outlives/impl-trait-captures.rs index 571bd9fd76e..f21127064d4 100644 --- a/src/test/ui/nll/ty-outlives/impl-trait-captures.rs +++ b/src/test/ui/nll/ty-outlives/impl-trait-captures.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![allow(warnings)] @@ -19,7 +19,7 @@ impl<'a, T> Foo<'a> for T { } fn foo<'a, T>(x: &T) -> impl Foo<'a> { x - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR explicit lifetime required in the type of `x` [E0621] } diff --git a/src/test/ui/nll/ty-outlives/impl-trait-captures.stderr b/src/test/ui/nll/ty-outlives/impl-trait-captures.stderr index 92e4f72da3a..f836960a28c 100644 --- a/src/test/ui/nll/ty-outlives/impl-trait-captures.stderr +++ b/src/test/ui/nll/ty-outlives/impl-trait-captures.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/impl-trait-captures.rs:21:5 | LL | x diff --git a/src/test/ui/nll/ty-outlives/impl-trait-outlives.rs b/src/test/ui/nll/ty-outlives/impl-trait-outlives.rs index 2e0671f1a51..182e11da082 100644 --- a/src/test/ui/nll/ty-outlives/impl-trait-outlives.rs +++ b/src/test/ui/nll/ty-outlives/impl-trait-outlives.rs @@ -8,14 +8,14 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![allow(warnings)] use std::fmt::Debug; fn no_region<'a, T>(x: Box<T>) -> impl Debug + 'a - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll where T: Debug, { @@ -31,7 +31,7 @@ where } fn wrong_region<'a, 'b, T>(x: Box<T>) -> impl Debug + 'a - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll where T: 'b + Debug, { diff --git a/src/test/ui/nll/ty-outlives/impl-trait-outlives.stderr b/src/test/ui/nll/ty-outlives/impl-trait-outlives.stderr index 2b90d53774e..50b80282e62 100644 --- a/src/test/ui/nll/ty-outlives/impl-trait-outlives.stderr +++ b/src/test/ui/nll/ty-outlives/impl-trait-outlives.stderr @@ -1,10 +1,10 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/impl-trait-outlives.rs:17:35 | LL | fn no_region<'a, T>(x: Box<T>) -> impl Debug + 'a | ^^^^^^^^^^^^^^^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/impl-trait-outlives.rs:33:42 | LL | fn wrong_region<'a, 'b, T>(x: Box<T>) -> impl Debug + 'a diff --git a/src/test/ui/nll/ty-outlives/projection-implied-bounds.rs b/src/test/ui/nll/ty-outlives/projection-implied-bounds.rs index 0ec6d7b74ad..d8f077467d9 100644 --- a/src/test/ui/nll/ty-outlives/projection-implied-bounds.rs +++ b/src/test/ui/nll/ty-outlives/projection-implied-bounds.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose // Test that we can deduce when projections like `T::Item` outlive the // function body. Test that this does not imply that `T: 'a` holds. @@ -43,7 +43,7 @@ where #[rustc_errors] fn generic2<T: Iterator>(value: T) { twice(value, |value_ref, item| invoke2(value_ref, item)); - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR the parameter type `T` may not live long enough } diff --git a/src/test/ui/nll/ty-outlives/projection-implied-bounds.stderr b/src/test/ui/nll/ty-outlives/projection-implied-bounds.stderr index fa53967ed3a..0a2bd324765 100644 --- a/src/test/ui/nll/ty-outlives/projection-implied-bounds.stderr +++ b/src/test/ui/nll/ty-outlives/projection-implied-bounds.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-implied-bounds.rs:45:36 | LL | twice(value, |value_ref, item| invoke2(value_ref, item)); diff --git a/src/test/ui/nll/ty-outlives/projection-no-regions-closure.rs b/src/test/ui/nll/ty-outlives/projection-no-regions-closure.rs index 0493bd1ea0d..7b3ed6a94fc 100644 --- a/src/test/ui/nll/ty-outlives/projection-no-regions-closure.rs +++ b/src/test/ui/nll/ty-outlives/projection-no-regions-closure.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose // Tests closures that propagate an outlives relationship to their // creator where the subject is a projection with no regions (`<T as @@ -34,7 +34,7 @@ where T: Iterator, { with_signature(x, |mut y| Box::new(y.next())) - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR the associated type `<T as std::iter::Iterator>::Item` may not live long enough } @@ -52,7 +52,7 @@ where T: 'b + Iterator, { with_signature(x, |mut y| Box::new(y.next())) - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR the associated type `<T as std::iter::Iterator>::Item` may not live long enough } diff --git a/src/test/ui/nll/ty-outlives/projection-no-regions-closure.stderr b/src/test/ui/nll/ty-outlives/projection-no-regions-closure.stderr index bcdf984f65a..0efbbdff12a 100644 --- a/src/test/ui/nll/ty-outlives/projection-no-regions-closure.stderr +++ b/src/test/ui/nll/ty-outlives/projection-no-regions-closure.stderr @@ -1,10 +1,10 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-no-regions-closure.rs:36:31 | LL | with_signature(x, |mut y| Box::new(y.next())) | ^^^^^^^^^^^^^^^^^^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-no-regions-closure.rs:54:31 | LL | with_signature(x, |mut y| Box::new(y.next())) diff --git a/src/test/ui/nll/ty-outlives/projection-no-regions-fn.rs b/src/test/ui/nll/ty-outlives/projection-no-regions-fn.rs index 5f2e84e247a..32b73a51e11 100644 --- a/src/test/ui/nll/ty-outlives/projection-no-regions-fn.rs +++ b/src/test/ui/nll/ty-outlives/projection-no-regions-fn.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![allow(warnings)] #![feature(dyn_trait)] @@ -22,7 +22,7 @@ where T: Iterator, { Box::new(x.next()) - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| the associated type `<T as std::iter::Iterator>::Item` may not live long enough } @@ -38,7 +38,7 @@ where T: 'b + Iterator, { Box::new(x.next()) - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| the associated type `<T as std::iter::Iterator>::Item` may not live long enough } diff --git a/src/test/ui/nll/ty-outlives/projection-no-regions-fn.stderr b/src/test/ui/nll/ty-outlives/projection-no-regions-fn.stderr index 95851e7edc7..b2c5f28268d 100644 --- a/src/test/ui/nll/ty-outlives/projection-no-regions-fn.stderr +++ b/src/test/ui/nll/ty-outlives/projection-no-regions-fn.stderr @@ -1,10 +1,10 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-no-regions-fn.rs:24:5 | LL | Box::new(x.next()) | ^^^^^^^^^^^^^^^^^^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-no-regions-fn.rs:40:5 | LL | Box::new(x.next()) diff --git a/src/test/ui/nll/ty-outlives/projection-one-region-closure.rs b/src/test/ui/nll/ty-outlives/projection-one-region-closure.rs index 9a5e04deddf..cfe2880bfed 100644 --- a/src/test/ui/nll/ty-outlives/projection-one-region-closure.rs +++ b/src/test/ui/nll/ty-outlives/projection-one-region-closure.rs @@ -22,7 +22,7 @@ // // Ensuring that both `T: 'a` and `'b: 'a` holds does work (`elements_outlive`). -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![allow(warnings)] #![feature(dyn_trait)] @@ -54,7 +54,7 @@ where T: Anything<'b>, { with_signature(cell, t, |cell, t| require(cell, t)); - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR the parameter type `T` may not live long enough //~| ERROR does not outlive free region } @@ -66,7 +66,7 @@ where 'a: 'a, { with_signature(cell, t, |cell, t| require(cell, t)); - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR the parameter type `T` may not live long enough //~| ERROR does not outlive free region } @@ -88,7 +88,7 @@ where // can do better here with a more involved verification step. with_signature(cell, t, |cell, t| require(cell, t)); - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR the parameter type `T` may not live long enough //~| ERROR free region `ReEarlyBound(1, 'b)` does not outlive free region `ReEarlyBound(0, 'a)` } diff --git a/src/test/ui/nll/ty-outlives/projection-one-region-closure.stderr b/src/test/ui/nll/ty-outlives/projection-one-region-closure.stderr index aa45cf18701..0d5a2dc7c55 100644 --- a/src/test/ui/nll/ty-outlives/projection-one-region-closure.stderr +++ b/src/test/ui/nll/ty-outlives/projection-one-region-closure.stderr @@ -1,16 +1,16 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-one-region-closure.rs:56:39 | LL | with_signature(cell, t, |cell, t| require(cell, t)); | ^^^^^^^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-one-region-closure.rs:68:39 | LL | with_signature(cell, t, |cell, t| require(cell, t)); | ^^^^^^^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-one-region-closure.rs:90:39 | LL | with_signature(cell, t, |cell, t| require(cell, t)); diff --git a/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-closure.rs b/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-closure.rs index 232025b5735..16e91f2708f 100644 --- a/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-closure.rs +++ b/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-closure.rs @@ -14,7 +14,7 @@ // case, the best way to satisfy the trait bound is to show that `'b: // 'a`, which can be done in various ways. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![allow(warnings)] #![feature(dyn_trait)] @@ -46,7 +46,7 @@ where T: Anything<'b>, { with_signature(cell, t, |cell, t| require(cell, t)); - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR does not outlive free region } @@ -57,7 +57,7 @@ where 'a: 'a, { with_signature(cell, t, |cell, t| require(cell, t)); - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR does not outlive free region } @@ -78,7 +78,7 @@ where // can do better here with a more involved verification step. with_signature(cell, t, |cell, t| require(cell, t)); - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR does not outlive free region } diff --git a/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-closure.stderr b/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-closure.stderr index 7a8010ad8e0..d4aca8380b4 100644 --- a/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-closure.stderr +++ b/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-closure.stderr @@ -1,16 +1,16 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-one-region-trait-bound-closure.rs:48:39 | LL | with_signature(cell, t, |cell, t| require(cell, t)); | ^^^^^^^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-one-region-trait-bound-closure.rs:59:39 | LL | with_signature(cell, t, |cell, t| require(cell, t)); | ^^^^^^^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-one-region-trait-bound-closure.rs:80:39 | LL | with_signature(cell, t, |cell, t| require(cell, t)); diff --git a/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs b/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs index a1bdd1b89f9..0d42636c844 100644 --- a/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs +++ b/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs @@ -12,7 +12,7 @@ // outlive `'static`. In this case, we don't get any errors, and in fact // we don't even propagate constraints from the closures to the callers. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose // compile-pass #![allow(warnings)] diff --git a/src/test/ui/nll/ty-outlives/projection-two-region-trait-bound-closure.rs b/src/test/ui/nll/ty-outlives/projection-two-region-trait-bound-closure.rs index e3cee00ed4e..7c8ef140a29 100644 --- a/src/test/ui/nll/ty-outlives/projection-two-region-trait-bound-closure.rs +++ b/src/test/ui/nll/ty-outlives/projection-two-region-trait-bound-closure.rs @@ -15,7 +15,7 @@ // the trait bound, and hence we propagate it to the caller as a type // test. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![allow(warnings)] #![feature(dyn_trait)] @@ -47,7 +47,7 @@ where T: Anything<'b, 'c>, { with_signature(cell, t, |cell, t| require(cell, t)); - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR associated type `<T as Anything<'_#5r, '_#6r>>::AssocType` may not live long enough } @@ -58,7 +58,7 @@ where 'a: 'a, { with_signature(cell, t, |cell, t| require(cell, t)); - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR associated type `<T as Anything<'_#6r, '_#7r>>::AssocType` may not live long enough } @@ -79,7 +79,7 @@ where // can do better here with a more involved verification step. with_signature(cell, t, |cell, t| require(cell, t)); - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR associated type `<T as Anything<'_#6r, '_#7r>>::AssocType` may not live long enough } @@ -107,7 +107,7 @@ where T: Anything<'b, 'b>, { with_signature(cell, t, |cell, t| require(cell, t)); - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR does not outlive free region } diff --git a/src/test/ui/nll/ty-outlives/projection-two-region-trait-bound-closure.stderr b/src/test/ui/nll/ty-outlives/projection-two-region-trait-bound-closure.stderr index c7cbdaec339..7e36e467e4e 100644 --- a/src/test/ui/nll/ty-outlives/projection-two-region-trait-bound-closure.stderr +++ b/src/test/ui/nll/ty-outlives/projection-two-region-trait-bound-closure.stderr @@ -1,22 +1,22 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-two-region-trait-bound-closure.rs:49:39 | LL | with_signature(cell, t, |cell, t| require(cell, t)); | ^^^^^^^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-two-region-trait-bound-closure.rs:60:39 | LL | with_signature(cell, t, |cell, t| require(cell, t)); | ^^^^^^^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-two-region-trait-bound-closure.rs:81:39 | LL | with_signature(cell, t, |cell, t| require(cell, t)); | ^^^^^^^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/projection-two-region-trait-bound-closure.rs:109:39 | LL | with_signature(cell, t, |cell, t| require(cell, t)); diff --git a/src/test/ui/nll/ty-outlives/ty-param-closure-approximate-lower-bound.rs b/src/test/ui/nll/ty-outlives/ty-param-closure-approximate-lower-bound.rs index 423747a6bd6..80b42c29563 100644 --- a/src/test/ui/nll/ty-outlives/ty-param-closure-approximate-lower-bound.rs +++ b/src/test/ui/nll/ty-outlives/ty-param-closure-approximate-lower-bound.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![allow(warnings)] #![feature(dyn_trait)] diff --git a/src/test/ui/nll/ty-outlives/ty-param-closure-approximate-lower-bound.stderr b/src/test/ui/nll/ty-outlives/ty-param-closure-approximate-lower-bound.stderr index 997cc57cfa2..c8feaddff93 100644 --- a/src/test/ui/nll/ty-outlives/ty-param-closure-approximate-lower-bound.stderr +++ b/src/test/ui/nll/ty-outlives/ty-param-closure-approximate-lower-bound.stderr @@ -1,16 +1,16 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/ty-param-closure-approximate-lower-bound.rs:35:31 | LL | twice(cell, value, |a, b| invoke(a, b)); | ^^^^^^^^^^^^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/ty-param-closure-approximate-lower-bound.rs:43:31 | LL | twice(cell, value, |a, b| invoke(a, b)); | ^^^^^^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/ty-param-closure-approximate-lower-bound.rs:43:31 | LL | twice(cell, value, |a, b| invoke(a, b)); diff --git a/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-return-type.rs b/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-return-type.rs index 95a483b3c35..50763a1d508 100644 --- a/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-return-type.rs +++ b/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-return-type.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![allow(warnings)] #![feature(dyn_trait)] @@ -35,7 +35,7 @@ where // `'a` (and subsequently reports an error). with_signature(x, |y| y) - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR the parameter type `T` may not live long enough } @@ -51,7 +51,7 @@ where T: 'b + Debug, { x - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR the parameter type `T` may not live long enough } diff --git a/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-return-type.stderr b/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-return-type.stderr index ba08bc1ff7b..500595e0c5d 100644 --- a/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-return-type.stderr +++ b/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-return-type.stderr @@ -1,10 +1,10 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/ty-param-closure-outlives-from-return-type.rs:37:27 | LL | with_signature(x, |y| y) | ^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/ty-param-closure-outlives-from-return-type.rs:53:5 | LL | x diff --git a/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-where-clause.rs b/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-where-clause.rs index 1149f250a46..b70fc2b2ec4 100644 --- a/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-where-clause.rs +++ b/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-where-clause.rs @@ -12,7 +12,7 @@ // `correct_region` for an explanation of how this test is setup; it's // somewhat intricate. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose #![allow(warnings)] #![feature(dyn_trait)] @@ -43,7 +43,7 @@ fn no_region<'a, T>(a: Cell<&'a ()>, b: T) { // function, there is no where clause *anywhere*, and hence we // get an error (but reported by the closure creator). require(&x, &y) - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll }) } @@ -77,7 +77,7 @@ where //~^ ERROR the parameter type `T` may not live long enough // See `correct_region` require(&x, &y) - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll }) } diff --git a/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-where-clause.stderr b/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-where-clause.stderr index fcdb0b0a4a9..4d8a66ba8e1 100644 --- a/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-where-clause.stderr +++ b/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-where-clause.stderr @@ -1,10 +1,10 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/ty-param-closure-outlives-from-where-clause.rs:45:9 | LL | require(&x, &y) | ^^^^^^^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/ty-param-closure-outlives-from-where-clause.rs:79:9 | LL | require(&x, &y) @@ -19,7 +19,7 @@ LL | | //~^ ERROR the parameter type `T` may not live long enough LL | | // LL | | // See `correct_region`, which explains the point of this ... | -LL | | //~^ WARNING not reporting region error due to -Znll +LL | | //~^ WARNING not reporting region error due to nll LL | | }) | |_____^ | @@ -40,7 +40,7 @@ LL | | //~^ ERROR the parameter type `T` may not live long enough LL | | // LL | | // See `correct_region`, which explains the point of this ... | -LL | | //~^ WARNING not reporting region error due to -Znll +LL | | //~^ WARNING not reporting region error due to nll LL | | }) | |_____^ | @@ -109,7 +109,7 @@ LL | with_signature(a, b, |x, y| { LL | | //~^ ERROR the parameter type `T` may not live long enough LL | | // See `correct_region` LL | | require(&x, &y) -LL | | //~^ WARNING not reporting region error due to -Znll +LL | | //~^ WARNING not reporting region error due to nll LL | | }) | |_____^ | @@ -130,7 +130,7 @@ LL | with_signature(a, b, |x, y| { LL | | //~^ ERROR the parameter type `T` may not live long enough LL | | // See `correct_region` LL | | require(&x, &y) -LL | | //~^ WARNING not reporting region error due to -Znll +LL | | //~^ WARNING not reporting region error due to nll LL | | }) | |_____^ | diff --git a/src/test/ui/nll/ty-outlives/ty-param-fn-body.rs b/src/test/ui/nll/ty-outlives/ty-param-fn-body.rs index e66c1853b64..fb4ea63f853 100644 --- a/src/test/ui/nll/ty-outlives/ty-param-fn-body.rs +++ b/src/test/ui/nll/ty-outlives/ty-param-fn-body.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags:-Znll -Zborrowck=mir +// compile-flags:-Zborrowck=mir // Test that we assume that universal types like `T` outlive the // function body. @@ -28,7 +28,7 @@ fn region_within_body<T>(t: T) { // Error here, because T: 'a is not satisfied. fn region_static<'a, T>(cell: Cell<&'a usize>, t: T) { outlives(cell, t) - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| ERROR the parameter type `T` may not live long enough } diff --git a/src/test/ui/nll/ty-outlives/ty-param-fn-body.stderr b/src/test/ui/nll/ty-outlives/ty-param-fn-body.stderr index 34ed709a273..0596861e67b 100644 --- a/src/test/ui/nll/ty-outlives/ty-param-fn-body.stderr +++ b/src/test/ui/nll/ty-outlives/ty-param-fn-body.stderr @@ -1,4 +1,4 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/ty-param-fn-body.rs:30:5 | LL | outlives(cell, t) diff --git a/src/test/ui/nll/ty-outlives/ty-param-fn.rs b/src/test/ui/nll/ty-outlives/ty-param-fn.rs index aa3a03afa35..42d662e1419 100644 --- a/src/test/ui/nll/ty-outlives/ty-param-fn.rs +++ b/src/test/ui/nll/ty-outlives/ty-param-fn.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags:-Znll -Zborrowck=mir +// compile-flags:-Zborrowck=mir #![allow(warnings)] #![feature(dyn_trait)] @@ -20,7 +20,7 @@ where T: Debug, { x - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| the parameter type `T` may not live long enough } @@ -36,7 +36,7 @@ where T: 'b + Debug, { x - //~^ WARNING not reporting region error due to -Znll + //~^ WARNING not reporting region error due to nll //~| the parameter type `T` may not live long enough } diff --git a/src/test/ui/nll/ty-outlives/ty-param-fn.stderr b/src/test/ui/nll/ty-outlives/ty-param-fn.stderr index 98ccfc52029..0d09cac8c38 100644 --- a/src/test/ui/nll/ty-outlives/ty-param-fn.stderr +++ b/src/test/ui/nll/ty-outlives/ty-param-fn.stderr @@ -1,10 +1,10 @@ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/ty-param-fn.rs:22:5 | LL | x | ^ -warning: not reporting region error due to -Znll +warning: not reporting region error due to nll --> $DIR/ty-param-fn.rs:38:5 | LL | x diff --git a/src/test/ui/nll/ty-outlives/ty-param-implied-bounds.rs b/src/test/ui/nll/ty-outlives/ty-param-implied-bounds.rs index d4ae9b20e56..51927d353ec 100644 --- a/src/test/ui/nll/ty-outlives/ty-param-implied-bounds.rs +++ b/src/test/ui/nll/ty-outlives/ty-param-implied-bounds.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags:-Znll -Zborrowck=mir -Zverbose +// compile-flags:-Zborrowck=mir -Zverbose // compile-pass // Test that we assume that universal types like `T` outlive the |
