diff options
| author | Zalathar <Zalathar@users.noreply.github.com> | 2024-08-01 20:29:06 +1000 |
|---|---|---|
| committer | Zalathar <Zalathar@users.noreply.github.com> | 2024-08-07 20:52:47 +1000 |
| commit | a5ed6fb646f554a3e2071dfdd3a3de2f83b759ec (patch) | |
| tree | f945f67c2de8d5362ad711795e9c13d7de13685b /compiler/rustc_pattern_analysis/src/rustc/print.rs | |
| parent | 7f48851416c0faf0333a23ba37904f4a407c723b (diff) | |
| download | rust-a5ed6fb646f554a3e2071dfdd3a3de2f83b759ec.tar.gz rust-a5ed6fb646f554a3e2071dfdd3a3de2f83b759ec.zip | |
Split out hoisting/printing of `box` patterns
Diffstat (limited to 'compiler/rustc_pattern_analysis/src/rustc/print.rs')
| -rw-r--r-- | compiler/rustc_pattern_analysis/src/rustc/print.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/rustc_pattern_analysis/src/rustc/print.rs b/compiler/rustc_pattern_analysis/src/rustc/print.rs index e7568b9e2bd..64f041dc21a 100644 --- a/compiler/rustc_pattern_analysis/src/rustc/print.rs +++ b/compiler/rustc_pattern_analysis/src/rustc/print.rs @@ -38,6 +38,10 @@ pub(crate) enum PatKind<'tcx> { subpatterns: Vec<FieldPat<'tcx>>, }, + Box { + subpattern: Box<Pat<'tcx>>, + }, + Deref { subpattern: Box<Pat<'tcx>>, }, @@ -64,6 +68,7 @@ impl<'tcx> fmt::Display for Pat<'tcx> { match self.kind { PatKind::Wild => write!(f, "_"), PatKind::Never => write!(f, "!"), + PatKind::Box { ref subpattern } => write!(f, "box {subpattern}"), PatKind::StructLike { ref enum_info, ref subpatterns } => { write_struct_like(f, self.ty, enum_info, subpatterns) } @@ -184,7 +189,6 @@ fn write_ref_like<'tcx>( subpattern: &Pat<'tcx>, ) -> fmt::Result { match ty.kind() { - ty::Adt(def, _) if def.is_box() => write!(f, "box ")?, ty::Ref(_, _, mutbl) => { write!(f, "&{}", mutbl.prefix_str())?; } |
