about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPhilipp Krones <hello@philkrones.com>2023-07-02 14:59:44 +0200
committerPhilipp Krones <hello@philkrones.com>2023-07-02 14:59:44 +0200
commitba1ffec5b5284bca28c58f18b875b3a8e50a277a (patch)
tree7a9126ce5000d1adb673058e1e89802b769ac462
parentcb3ecf7b792fdc4b00e61935b9e40ca836752492 (diff)
downloadrust-ba1ffec5b5284bca28c58f18b875b3a8e50a277a.tar.gz
rust-ba1ffec5b5284bca28c58f18b875b3a8e50a277a.zip
Fix valtree changes
-rw-r--r--clippy_utils/src/consts.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/clippy_utils/src/consts.rs b/clippy_utils/src/consts.rs
index 068820801df..dd3cda8ec52 100644
--- a/clippy_utils/src/consts.rs
+++ b/clippy_utils/src/consts.rs
@@ -725,8 +725,8 @@ fn field_of_struct<'tcx>(
     result: mir::ConstantKind<'tcx>,
     field: &Ident,
 ) -> Option<mir::ConstantKind<'tcx>> {
-    let dc = lcx.tcx.destructure_mir_constant(lcx.param_env, result);
-    if let Some(dc_variant) = dc.variant
+    if let Some(dc) = lcx.tcx.try_destructure_mir_constant(lcx.param_env.and(result))
+        && let Some(dc_variant) = dc.variant
         && let Some(variant) = adt_def.variants().get(dc_variant)
         && let Some(field_idx) = variant.fields.iter().position(|el| el.name == field.name)
         && let Some(dc_field) = dc.fields.get(field_idx)