about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBoxy <rust@boxyuwu.dev>2024-11-12 02:54:03 +0000
committerBoxy <rust@boxyuwu.dev>2024-11-12 02:54:03 +0000
commite5b1caef8518aa4d98719e3901c9baea37ec24fc (patch)
tree2ad6bc11f5deff1f95487618b2de8b5caa298290
parente2962cc0797b2e94b2962367cbbde89a4be84c14 (diff)
downloadrust-e5b1caef8518aa4d98719e3901c9baea37ec24fc.tar.gz
rust-e5b1caef8518aa4d98719e3901c9baea37ec24fc.zip
Consolidate type system const evaluation under `traits::evaluate_const`
mew
-rw-r--r--clippy_lints/src/large_const_arrays.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/clippy_lints/src/large_const_arrays.rs b/clippy_lints/src/large_const_arrays.rs
index aa8b4d88d2f..44b9d6adaaa 100644
--- a/clippy_lints/src/large_const_arrays.rs
+++ b/clippy_lints/src/large_const_arrays.rs
@@ -56,7 +56,7 @@ impl<'tcx> LateLintPass<'tcx> for LargeConstArrays {
             && !item.span.from_expansion()
             && let ty = cx.tcx.type_of(item.owner_id).instantiate_identity()
             && let ty::Array(element_type, cst) = ty.kind()
-            && let Ok((_, ty::ValTree::Leaf(element_count))) = cst.eval_valtree(cx.tcx, ParamEnv::empty(), item.span)
+            && let Some((ty::ValTree::Leaf(element_count), _)) = cx.tcx.try_normalize_erasing_regions(ParamEnv::empty(), *cst).unwrap_or(*cst).try_to_valtree()
             && let element_count = element_count.to_target_usize(cx.tcx)
             && let Ok(element_size) = cx.layout_of(*element_type).map(|l| l.size.bytes())
             && u128::from(self.maximum_allowed_size) < u128::from(element_count) * u128::from(element_size)