2018-08-02 06:51:13 -05:00
|
|
|
// This is a regression test for #52967, where we discovered that in
|
|
|
|
// the initial deployment of NLL for the 2018 edition, I forgot to
|
|
|
|
// turn on two-phase-borrows in addition to `-Z borrowck=migrate`.
|
|
|
|
|
|
|
|
// revisions: ast zflags edition
|
|
|
|
//[zflags]compile-flags: -Z borrowck=migrate -Z two-phase-borrows
|
2018-08-16 02:36:11 -05:00
|
|
|
//[edition]edition:2018
|
2018-08-02 06:51:13 -05:00
|
|
|
|
|
|
|
// run-pass
|
|
|
|
|
|
|
|
fn the_bug() {
|
|
|
|
let mut stuff = ("left", "right");
|
|
|
|
match stuff {
|
|
|
|
(ref mut left, _) if *left == "left" => { *left = "new left"; }
|
|
|
|
_ => {}
|
|
|
|
}
|
|
|
|
assert_eq!(stuff, ("new left", "right"));
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
the_bug();
|
|
|
|
}
|