Skip to content

Commit 805904b

Browse files
committed
collect explicit-mut passing tests in one file
1 parent c67f43a commit 805904b

File tree

4 files changed

+15
-9
lines changed

4 files changed

+15
-9
lines changed

src/test/ui/let-else/let-else-binding-explicit-mut-annotated.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,4 @@ fn main() {
1313
let Some(n): &mut Option<i32> = &&mut Some(5i32) else { return }; //~ ERROR mismatched types
1414
*n += 1;
1515
let _ = n;
16-
17-
let Some(n): &mut Option<i32> = &mut &mut Some(5i32) else { return }; // OK
18-
*n += 1;
19-
let _ = n;
2016
}

src/test/ui/let-else/let-else-binding-explicit-mut-borrow.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
// Should it show a type error instead?
55

66
fn main() {
7-
let Some(n): &mut Option<i32> = &mut &Some(5i32) else { //~ ERROR cannot borrow data in a `&` reference as mutable
7+
let Some(n): &mut Option<i32> = &mut &Some(5i32) else {
8+
//~^ ERROR cannot borrow data in a `&` reference as mutable
89
return
910
};
1011
*n += 1;
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// check-pass
2+
3+
#![feature(let_else)]
4+
5+
fn main() {
6+
let Some(n) = &mut &mut Some(5i32) else { return; };
7+
*n += 1; // OK
8+
let _ = n;
9+
10+
let Some(n): &mut Option<i32> = &mut &mut Some(5i32) else { return; };
11+
*n += 1; // OK
12+
let _ = n;
13+
}

src/test/ui/let-else/let-else-binding-explicit-mut.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,4 @@ fn main() {
1717
let Some(n) = &&mut Some(5i32) else { return };
1818
*n += 1; //~ ERROR cannot assign to `*n`, which is behind a `&` reference
1919
let _ = n;
20-
21-
let Some(n) = &mut &mut Some(5i32) else { return };
22-
*n += 1; // OK
23-
let _ = n;
2420
}

0 commit comments

Comments
 (0)