Skip to content

Commit 7399338

Browse files
Lukas MarkeffskyFedericoBruzzone
Lukas Markeffsky
andcommitted
introduce ty::Value
Co-authored-by: FedericoBruzzone <[email protected]>
1 parent 7eefa76 commit 7399338

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

clippy_lints/src/large_const_arrays.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,8 @@ impl<'tcx> LateLintPass<'tcx> for LargeConstArrays {
5656
&& !item.span.from_expansion()
5757
&& let ty = cx.tcx.type_of(item.owner_id).instantiate_identity()
5858
&& let ty::Array(element_type, cst) = ty.kind()
59-
&& let Some((ty::ValTree::Leaf(element_count), _)) = cx.tcx
60-
.try_normalize_erasing_regions(cx.typing_env(), *cst).unwrap_or(*cst).try_to_valtree()
61-
&& let element_count = element_count.to_target_usize(cx.tcx)
59+
&& let Some(element_count) = cx.tcx
60+
.try_normalize_erasing_regions(cx.typing_env(), *cst).unwrap_or(*cst).try_to_target_usize(cx.tcx)
6261
&& let Ok(element_size) = cx.layout_of(*element_type).map(|l| l.size.bytes())
6362
&& u128::from(self.maximum_allowed_size) < u128::from(element_count) * u128::from(element_size)
6463
{

clippy_lints/src/large_stack_arrays.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use clippy_utils::source::snippet;
88
use rustc_hir::{Expr, ExprKind, Item, ItemKind, Node};
99
use rustc_lint::{LateContext, LateLintPass};
1010
use rustc_middle::ty::layout::LayoutOf;
11-
use rustc_middle::ty::{self, ConstKind};
11+
use rustc_middle::ty;
1212
use rustc_session::impl_lint_pass;
1313
use rustc_span::{Span, sym};
1414

@@ -81,8 +81,7 @@ impl<'tcx> LateLintPass<'tcx> for LargeStackArrays {
8181
&& let ExprKind::Repeat(_, _) | ExprKind::Array(_) = expr.kind
8282
&& !self.is_from_vec_macro(cx, expr.span)
8383
&& let ty::Array(element_type, cst) = cx.typeck_results().expr_ty(expr).kind()
84-
&& let ConstKind::Value(_, ty::ValTree::Leaf(element_count)) = cst.kind()
85-
&& let element_count = element_count.to_target_usize(cx.tcx)
84+
&& let Some(element_count) = cst.try_to_target_usize(cx.tcx)
8685
&& let Ok(element_size) = cx.layout_of(*element_type).map(|l| l.size.bytes())
8786
&& !cx.tcx.hir().parent_iter(expr.hir_id).any(|(_, node)| {
8887
matches!(

0 commit comments

Comments
 (0)