diff options
| author | fee1-dead <ent3rm4n@gmail.com> | 2023-01-09 23:35:29 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-09 23:35:29 +0800 |
| commit | 37c1d6dc09e97a7d707977c7cceeb0685df1776a (patch) | |
| tree | 6c36b66dc8a323864aeaeee6fa18d1381a6fbe05 /src/test/ui | |
| parent | 7779386a3a62e6aedb81ddd10977b1b0d4b2bcec (diff) | |
| parent | a74a48852a50628b8de61ad5534f4eb3d31ecc6e (diff) | |
Rollup merge of #106291 - obeis:issue-106182, r=oli-obk
Fix incorrect suggestion for extra `&` in pattern Closes #106182
Diffstat (limited to 'src/test/ui')
| -rw-r--r-- | src/test/ui/mismatched_types/issue-106182.fixed | 14 | ||||
| -rw-r--r-- | src/test/ui/mismatched_types/issue-106182.rs | 14 | ||||
| -rw-r--r-- | src/test/ui/mismatched_types/issue-106182.stderr | 18 | ||||
| -rw-r--r-- | src/test/ui/mismatched_types/ref-pat-suggestions.stderr | 5 |
4 files changed, 48 insertions, 3 deletions
diff --git a/src/test/ui/mismatched_types/issue-106182.fixed b/src/test/ui/mismatched_types/issue-106182.fixed new file mode 100644 index 00000000000..b8ddebf6fb6 --- /dev/null +++ b/src/test/ui/mismatched_types/issue-106182.fixed @@ -0,0 +1,14 @@ +// run-rustfix + +struct _S(u32, Vec<i32>); + +fn _foo(x: &_S) { + match x { + _S(mut _y, _v) => { + //~^ ERROR mismatched types [E0308] + } + } +} + +fn main() { +} diff --git a/src/test/ui/mismatched_types/issue-106182.rs b/src/test/ui/mismatched_types/issue-106182.rs new file mode 100644 index 00000000000..6eb6df13a02 --- /dev/null +++ b/src/test/ui/mismatched_types/issue-106182.rs @@ -0,0 +1,14 @@ +// run-rustfix + +struct _S(u32, Vec<i32>); + +fn _foo(x: &_S) { + match x { + _S(& (mut _y), _v) => { + //~^ ERROR mismatched types [E0308] + } + } +} + +fn main() { +} diff --git a/src/test/ui/mismatched_types/issue-106182.stderr b/src/test/ui/mismatched_types/issue-106182.stderr new file mode 100644 index 00000000000..ac3ab8e9895 --- /dev/null +++ b/src/test/ui/mismatched_types/issue-106182.stderr @@ -0,0 +1,18 @@ +error[E0308]: mismatched types + --> $DIR/issue-106182.rs:7:12 + | +LL | match x { + | - this expression has type `&_S` +LL | _S(& (mut _y), _v) => { + | ^^^^^^^^^^ expected `u32`, found reference + | + = note: expected type `u32` + found reference `&_` +help: consider removing `&` from the pattern + | +LL | _S(mut _y, _v) => { + | ~~~~~~ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/mismatched_types/ref-pat-suggestions.stderr b/src/test/ui/mismatched_types/ref-pat-suggestions.stderr index d9501a9bbc6..63eaa3930b1 100644 --- a/src/test/ui/mismatched_types/ref-pat-suggestions.stderr +++ b/src/test/ui/mismatched_types/ref-pat-suggestions.stderr @@ -336,9 +336,8 @@ LL | let S(&mut _b) = S(0); | ^^^^^^^ help: consider removing `&mut` from the pattern | -LL - let S(&mut _b) = S(0); -LL + let S(_b) = S(0); - | +LL | let S(_b) = S(0); + | ~~ error[E0308]: mismatched types --> $DIR/ref-pat-suggestions.rs:31:14 |
