about summary refs log tree commit diff
path: root/tests/ui/suggestions/only-replace-intended-coma-not-all-in-pattern.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-10-04 06:19:58 +0000
committerbors <bors@rust-lang.org>2025-10-04 06:19:58 +0000
commita0f398e89df9767c93c81cd58d44fdba071258a8 (patch)
tree6c65806622032e569ced4c44d25b0441398351f4 /tests/ui/suggestions/only-replace-intended-coma-not-all-in-pattern.rs
parent7950f244e7ef55b61a83d12f4662be643cd182d6 (diff)
parent30442dc496138df6c6f56abe5f276392b78bdfbb (diff)
downloadrust-a0f398e89df9767c93c81cd58d44fdba071258a8.tar.gz
rust-a0f398e89df9767c93c81cd58d44fdba071258a8.zip
Auto merge of #147308 - matthiaskrgr:rollup-ov04tbi, r=matthiaskrgr
Rollup of 5 pull requests

Successful merges:

 - rust-lang/rust#147245 (only replace the intended comma in pattern suggestions)
 - rust-lang/rust#147269 (Add regression test for 123953)
 - rust-lang/rust#147277 (Extract common logic for iterating over features)
 - rust-lang/rust#147292 (Respect `-Z` unstable options in `rustdoc --test`)
 - rust-lang/rust#147300 (Add xtensa arch to object file creation)

r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'tests/ui/suggestions/only-replace-intended-coma-not-all-in-pattern.rs')
-rw-r--r--tests/ui/suggestions/only-replace-intended-coma-not-all-in-pattern.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/ui/suggestions/only-replace-intended-coma-not-all-in-pattern.rs b/tests/ui/suggestions/only-replace-intended-coma-not-all-in-pattern.rs
new file mode 100644
index 00000000000..7d5087fa0ff
--- /dev/null
+++ b/tests/ui/suggestions/only-replace-intended-coma-not-all-in-pattern.rs
@@ -0,0 +1,18 @@
+//@ run-rustfix
+
+// Regression test for issue #143330.
+// Ensure we suggest to replace only the intended coma with a bar, not all commas in the pattern.
+
+fn main() {
+    struct Foo { x: i32, ch: char }
+    let pos = Foo { x: 2, ch: 'x' };
+    match pos {
+        // All commas here were replaced with bars.
+        // Foo { x: 2 | ch: ' |' } | Foo { x: 3 | ch: '@' } => (),
+        Foo { x: 2, ch: ',' }, Foo { x: 3, ch: '@' } => (),
+        //~^ ERROR unexpected `,` in pattern
+        //~| HELP try adding parentheses to match on a tuple...
+        //~| HELP ...or a vertical bar to match on alternative
+        _ => todo!(),
+    }
+}