Skip to content

Commit f9e1b9c

Browse files
committed
Add NLL test for #45045
Closes #45045
1 parent 57850e5 commit f9e1b9c

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// Regression test for issue #45045
12+
13+
#![feature(nll)]
14+
15+
enum Xyz {
16+
A,
17+
B,
18+
}
19+
20+
fn main() {
21+
let mut e = Xyz::A;
22+
let f = &mut e;
23+
let g = f;
24+
match e {
25+
Xyz::A => println!("a"),
26+
//~^ cannot use `e` because it was mutably borrowed [E0503]
27+
Xyz::B => println!("b"),
28+
};
29+
*g = Xyz::B;
30+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
error[E0503]: cannot use `e` because it was mutably borrowed
2+
--> $DIR/borrowed-match-issue-45045.rs:25:9
3+
|
4+
22 | let f = &mut e;
5+
| ------ borrow of `e` occurs here
6+
...
7+
25 | Xyz::A => println!("a"),
8+
| ^^^^^^ use of borrowed `e`
9+
10+
error: aborting due to previous error
11+

0 commit comments

Comments
 (0)