about summary refs log tree commit diff
path: root/compiler
diff options
context:
space:
mode:
authorMatthew Jasper <mjjasper1@gmail.com>2023-12-22 16:38:20 +0000
committerMatthew Jasper <mjjasper1@gmail.com>2024-01-05 10:00:59 +0000
commit7832ebbd4ff090aced6e338ff92e1353bbe88f76 (patch)
tree54413fdab6e25c05d2d46fd4a14c15014801e890 /compiler
parent26f48b4cba17a6f7d321bccaa86b345596923763 (diff)
downloadrust-7832ebbd4ff090aced6e338ff92e1353bbe88f76.tar.gz
rust-7832ebbd4ff090aced6e338ff92e1353bbe88f76.zip
Handle context for const patterns correctly
Diffstat (limited to 'compiler')
-rw-r--r--compiler/rustc_mir_build/src/check_unsafety.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/rustc_mir_build/src/check_unsafety.rs b/compiler/rustc_mir_build/src/check_unsafety.rs
index 7d0ce53997a..b4a02fae454 100644
--- a/compiler/rustc_mir_build/src/check_unsafety.rs
+++ b/compiler/rustc_mir_build/src/check_unsafety.rs
@@ -144,11 +144,17 @@ impl<'tcx> UnsafetyVisitor<'_, 'tcx> {
             let hir_context = self.tcx.local_def_id_to_hir_id(def);
             let safety_context = mem::replace(&mut self.safety_context, SafetyContext::Safe);
             let mut inner_visitor = UnsafetyVisitor {
+                tcx: self.tcx,
                 thir: inner_thir,
                 hir_context,
                 safety_context,
+                body_target_features: self.body_target_features,
+                assignment_info: self.assignment_info,
+                in_union_destructure: false,
+                param_env: self.param_env,
+                inside_adt: false,
                 warnings: self.warnings,
-                ..*self
+                suggest_unsafe_block: self.suggest_unsafe_block,
             };
             inner_visitor.visit_expr(&inner_thir[expr]);
             // Unsafe blocks can be used in the inner body, make sure to take it into account