integrate the edition code.

As a driveby change, I made `#![feature(nll)]` *always* take
precedence over `-Z borrowck`.  The main effect this had is that it
means tests with `#![feature(nll)]` will ignore uses of `-Z
borrowck=compare`. This affected only one test as far as I can tell,
and I think that test used `-Z borrowck=compare` only as a historical
accident.
This commit is contained in:
Felix S. Klock II 2018-07-26 13:17:33 +02:00
parent 1a59dafe11
commit 4b2e553dac
3 changed files with 50 additions and 52 deletions

View file

@ -8,17 +8,15 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// compile-flags: -Z borrowck=compare
#![feature(generators)]
#![feature(nll)]
fn main() {
|| {
// The reference in `_a` is a Legal with NLL since it ends before the yield
let _a = &mut true; //~ ERROR borrow may still be in use when generator yields (Ast)
let b = &mut true; //~ ERROR borrow may still be in use when generator yields (Ast)
//~^ borrow may still be in use when generator yields (Mir)
let _a = &mut true;
let b = &mut true;
//~^ borrow may still be in use when generator yields
yield ();
println!("{}", b);
};

View file

@ -1,30 +1,12 @@
error[E0626]: borrow may still be in use when generator yields (Ast)
--> $DIR/generator-with-nll.rs:19:23
error[E0626]: borrow may still be in use when generator yields
--> $DIR/generator-with-nll.rs:18:17
|
LL | let _a = &mut true; //~ ERROR borrow may still be in use when generator yields (Ast)
| ^^^^
...
LL | yield ();
| -------- possible yield occurs here
error[E0626]: borrow may still be in use when generator yields (Ast)
--> $DIR/generator-with-nll.rs:20:22
|
LL | let b = &mut true; //~ ERROR borrow may still be in use when generator yields (Ast)
| ^^^^
LL | //~^ borrow may still be in use when generator yields (Mir)
LL | yield ();
| -------- possible yield occurs here
error[E0626]: borrow may still be in use when generator yields (Mir)
--> $DIR/generator-with-nll.rs:20:17
|
LL | let b = &mut true; //~ ERROR borrow may still be in use when generator yields (Ast)
LL | let b = &mut true;
| ^^^^^^^^^
LL | //~^ borrow may still be in use when generator yields (Mir)
LL | //~^ borrow may still be in use when generator yields
LL | yield ();
| -------- possible yield occurs here
error: aborting due to 3 previous errors
error: aborting due to previous error
For more information about this error, try `rustc --explain E0626`.