about summary refs log tree commit diff
path: root/compiler/rustc_pattern_analysis/src/rustc.rs
diff options
context:
space:
mode:
authorZalathar <Zalathar@users.noreply.github.com>2024-08-03 20:26:17 +1000
committerZalathar <Zalathar@users.noreply.github.com>2024-08-11 19:57:30 +1000
commit0a777090d80747fc841784c5a6944f2a792f845c (patch)
treeddf395d1ac3c6ae77719bc74e11c04154ff10620 /compiler/rustc_pattern_analysis/src/rustc.rs
parentc9bd03cb724e13cca96ad320733046cbdb16fbbe (diff)
downloadrust-0a777090d80747fc841784c5a6944f2a792f845c.tar.gz
rust-0a777090d80747fc841784c5a6944f2a792f845c.zip
Avoid matching on `PatKind::Wild` in `write_struct_like`
Diffstat (limited to 'compiler/rustc_pattern_analysis/src/rustc.rs')
-rw-r--r--compiler/rustc_pattern_analysis/src/rustc.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/rustc_pattern_analysis/src/rustc.rs b/compiler/rustc_pattern_analysis/src/rustc.rs
index 10b7968a1a7..22b7ca18f84 100644
--- a/compiler/rustc_pattern_analysis/src/rustc.rs
+++ b/compiler/rustc_pattern_analysis/src/rustc.rs
@@ -847,7 +847,11 @@ impl<'p, 'tcx: 'p> RustcPatCtxt<'p, 'tcx> {
                 let subpatterns = pat
                     .iter_fields()
                     .enumerate()
-                    .map(|(i, pat)| FieldPat { field: FieldIdx::new(i), pattern: hoist(pat) })
+                    .map(|(i, pat)| FieldPat {
+                        field: FieldIdx::new(i),
+                        pattern: hoist(pat),
+                        is_wildcard: would_print_as_wildcard(cx.tcx, pat),
+                    })
                     .collect::<Vec<_>>();
 
                 PatKind::StructLike { enum_info, subpatterns }