about summary refs log tree commit diff
path: root/compiler/rustc_pattern_analysis/src
diff options
context:
space:
mode:
authorNadrieril <nadrieril+git@gmail.com>2024-03-08 19:17:23 +0100
committerNadrieril <nadrieril+git@gmail.com>2024-03-20 22:30:27 +0100
commit120d3570aa467c287814fe3edb9003920d8232aa (patch)
tree146ba6ab67200ca66af6ebf6447a7b657030adbf /compiler/rustc_pattern_analysis/src
parenta128516cf9de352ae1f9d430ed730363c7ca3c0c (diff)
downloadrust-120d3570aa467c287814fe3edb9003920d8232aa.tar.gz
rust-120d3570aa467c287814fe3edb9003920d8232aa.zip
Add barest-bones deref patterns
Co-authored-by: Deadbeef <ent3rm4n@gmail.com>
Diffstat (limited to 'compiler/rustc_pattern_analysis/src')
-rw-r--r--compiler/rustc_pattern_analysis/src/rustc.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/rustc_pattern_analysis/src/rustc.rs b/compiler/rustc_pattern_analysis/src/rustc.rs
index eedc00a5613..4cb306b1950 100644
--- a/compiler/rustc_pattern_analysis/src/rustc.rs
+++ b/compiler/rustc_pattern_analysis/src/rustc.rs
@@ -462,6 +462,12 @@ impl<'p, 'tcx: 'p> RustcPatCtxt<'p, 'tcx> {
                     _ => bug!("pattern has unexpected type: pat: {:?}, ty: {:?}", pat, ty),
                 };
             }
+            PatKind::DerefPattern { .. } => {
+                // FIXME(deref_patterns): At least detect that `box _` is irrefutable.
+                fields = vec![];
+                arity = 0;
+                ctor = Opaque(OpaqueId::new());
+            }
             PatKind::Leaf { subpatterns } | PatKind::Variant { subpatterns, .. } => {
                 match ty.kind() {
                     ty::Tuple(fs) => {