diff options
| author | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2023-07-05 16:16:03 +0000 |
|---|---|---|
| committer | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2023-07-05 16:16:03 +0000 |
| commit | 3dfc7ec05d1ac233af6f614eaedc67522e20d930 (patch) | |
| tree | 719268c554c40b9efa8a354cde5da76011e483a5 | |
| parent | e1e04a8beed95e78b1391c7f4650fb68abd86f8f (diff) | |
| download | rust-3dfc7ec05d1ac233af6f614eaedc67522e20d930.tar.gz rust-3dfc7ec05d1ac233af6f614eaedc67522e20d930.zip | |
Patch clippy
| -rw-r--r-- | src/tools/clippy/clippy_utils/src/consts.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/tools/clippy/clippy_utils/src/consts.rs b/src/tools/clippy/clippy_utils/src/consts.rs index dd3cda8ec52..b7f62af75b8 100644 --- a/src/tools/clippy/clippy_utils/src/consts.rs +++ b/src/tools/clippy/clippy_utils/src/consts.rs @@ -725,13 +725,14 @@ fn field_of_struct<'tcx>( result: mir::ConstantKind<'tcx>, field: &Ident, ) -> Option<mir::ConstantKind<'tcx>> { - if let Some(dc) = lcx.tcx.try_destructure_mir_constant(lcx.param_env.and(result)) + if let mir::ConstantKind::Val(result, ty) = result + && let Some(dc) = lcx.tcx.try_destructure_mir_constant_for_diagnostics((result, ty)) && 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) + && let Some(&(val, ty)) = dc.fields.get(field_idx) { - Some(*dc_field) + Some(mir::ConstantKind::Val(val, ty)) } else { None |
