We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
traits::evaluate_const
1 parent e2962cc commit e5b1caeCopy full SHA for e5b1cae
clippy_lints/src/large_const_arrays.rs
@@ -56,7 +56,7 @@ impl<'tcx> LateLintPass<'tcx> for LargeConstArrays {
56
&& !item.span.from_expansion()
57
&& let ty = cx.tcx.type_of(item.owner_id).instantiate_identity()
58
&& let ty::Array(element_type, cst) = ty.kind()
59
- && 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()
60
&& let element_count = element_count.to_target_usize(cx.tcx)
61
&& let Ok(element_size) = cx.layout_of(*element_type).map(|l| l.size.bytes())
62
&& u128::from(self.maximum_allowed_size) < u128::from(element_count) * u128::from(element_size)
0 commit comments