mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-23 05:03:21 +00:00
Misc fixes to cranelift/clippy/miri
This commit is contained in:
parent
e8d02fe1cb
commit
38de6e1f3a
5 changed files with 7 additions and 7 deletions
|
@ -54,7 +54,7 @@ impl<'tcx> LateLintPass<'tcx> for LargeConstArrays {
|
||||||
&& generics.params.is_empty() && !generics.has_where_clause_predicates
|
&& generics.params.is_empty() && !generics.has_where_clause_predicates
|
||||||
&& let ty = cx.tcx.type_of(item.owner_id).instantiate_identity()
|
&& let ty = cx.tcx.type_of(item.owner_id).instantiate_identity()
|
||||||
&& let ty::Array(element_type, cst) = ty.kind()
|
&& let ty::Array(element_type, cst) = ty.kind()
|
||||||
&& let ConstKind::Value(ty::ValTree::Leaf(element_count)) = cst.kind()
|
&& let ConstKind::Value(_, ty::ValTree::Leaf(element_count)) = cst.kind()
|
||||||
&& let Ok(element_count) = element_count.try_to_target_usize(cx.tcx)
|
&& let Ok(element_count) = element_count.try_to_target_usize(cx.tcx)
|
||||||
&& let Ok(element_size) = cx.layout_of(*element_type).map(|l| l.size.bytes())
|
&& let Ok(element_size) = cx.layout_of(*element_type).map(|l| l.size.bytes())
|
||||||
&& self.maximum_allowed_size < u128::from(element_count) * u128::from(element_size)
|
&& self.maximum_allowed_size < u128::from(element_count) * u128::from(element_size)
|
||||||
|
|
|
@ -64,7 +64,7 @@ impl<'tcx> LateLintPass<'tcx> for LargeStackArrays {
|
||||||
if let ExprKind::Repeat(_, _) | ExprKind::Array(_) = expr.kind
|
if let ExprKind::Repeat(_, _) | ExprKind::Array(_) = expr.kind
|
||||||
&& !self.is_from_vec_macro(cx, expr.span)
|
&& !self.is_from_vec_macro(cx, expr.span)
|
||||||
&& let ty::Array(element_type, cst) = cx.typeck_results().expr_ty(expr).kind()
|
&& let ty::Array(element_type, cst) = cx.typeck_results().expr_ty(expr).kind()
|
||||||
&& let ConstKind::Value(ty::ValTree::Leaf(element_count)) = cst.kind()
|
&& let ConstKind::Value(_, ty::ValTree::Leaf(element_count)) = cst.kind()
|
||||||
&& let Ok(element_count) = element_count.try_to_target_usize(cx.tcx)
|
&& let Ok(element_count) = element_count.try_to_target_usize(cx.tcx)
|
||||||
&& let Ok(element_size) = cx.layout_of(*element_type).map(|l| l.size.bytes())
|
&& let Ok(element_size) = cx.layout_of(*element_type).map(|l| l.size.bytes())
|
||||||
&& !cx.tcx.hir().parent_iter(expr.hir_id).any(|(_, node)| {
|
&& !cx.tcx.hir().parent_iter(expr.hir_id).any(|(_, node)| {
|
||||||
|
|
|
@ -37,14 +37,14 @@ fn all_ranges<'tcx>(cx: &LateContext<'tcx>, arms: &'tcx [Arm<'_>], ty: Ty<'tcx>)
|
||||||
Some(lhs) => constant(cx, cx.typeck_results(), lhs)?,
|
Some(lhs) => constant(cx, cx.typeck_results(), lhs)?,
|
||||||
None => {
|
None => {
|
||||||
let min_val_const = ty.numeric_min_val(cx.tcx)?;
|
let min_val_const = ty.numeric_min_val(cx.tcx)?;
|
||||||
mir_to_const(cx, mir::Const::from_ty_const(min_val_const, cx.tcx))?
|
mir_to_const(cx, mir::Const::from_ty_const(min_val_const, ty, cx.tcx))?
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
let rhs_const = match rhs {
|
let rhs_const = match rhs {
|
||||||
Some(rhs) => constant(cx, cx.typeck_results(), rhs)?,
|
Some(rhs) => constant(cx, cx.typeck_results(), rhs)?,
|
||||||
None => {
|
None => {
|
||||||
let max_val_const = ty.numeric_max_val(cx.tcx)?;
|
let max_val_const = ty.numeric_max_val(cx.tcx)?;
|
||||||
mir_to_const(cx, mir::Const::from_ty_const(max_val_const, cx.tcx))?
|
mir_to_const(cx, mir::Const::from_ty_const(max_val_const, ty, cx.tcx))?
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
let lhs_val = lhs_const.int_value(cx, ty)?;
|
let lhs_val = lhs_const.int_value(cx, ty)?;
|
||||||
|
|
|
@ -55,7 +55,7 @@ impl LateLintPass<'_> for ZeroRepeatSideEffects {
|
||||||
inner_check(cx, expr, inner_expr, true);
|
inner_check(cx, expr, inner_expr, true);
|
||||||
} else if let ExprKind::Repeat(inner_expr, _) = expr.kind
|
} else if let ExprKind::Repeat(inner_expr, _) = expr.kind
|
||||||
&& let ty::Array(_, cst) = cx.typeck_results().expr_ty(expr).kind()
|
&& let ty::Array(_, cst) = cx.typeck_results().expr_ty(expr).kind()
|
||||||
&& let ConstKind::Value(ty::ValTree::Leaf(element_count)) = cst.kind()
|
&& let ConstKind::Value(_, ty::ValTree::Leaf(element_count)) = cst.kind()
|
||||||
&& let Ok(element_count) = element_count.try_to_target_usize(cx.tcx)
|
&& let Ok(element_count) = element_count.try_to_target_usize(cx.tcx)
|
||||||
&& element_count == 0
|
&& element_count == 0
|
||||||
{
|
{
|
||||||
|
|
|
@ -1534,7 +1534,7 @@ pub fn is_range_full(cx: &LateContext<'_>, expr: &Expr<'_>, container_path: Opti
|
||||||
if let rustc_ty::Adt(_, subst) = ty.kind()
|
if let rustc_ty::Adt(_, subst) = ty.kind()
|
||||||
&& let bnd_ty = subst.type_at(0)
|
&& let bnd_ty = subst.type_at(0)
|
||||||
&& let Some(min_val) = bnd_ty.numeric_min_val(cx.tcx)
|
&& let Some(min_val) = bnd_ty.numeric_min_val(cx.tcx)
|
||||||
&& let Some(min_const) = mir_to_const(cx, Const::from_ty_const(min_val, cx.tcx))
|
&& let Some(min_const) = mir_to_const(cx, Const::from_ty_const(min_val, bnd_ty, cx.tcx))
|
||||||
&& let Some(start_const) = constant(cx, cx.typeck_results(), start)
|
&& let Some(start_const) = constant(cx, cx.typeck_results(), start)
|
||||||
{
|
{
|
||||||
start_const == min_const
|
start_const == min_const
|
||||||
|
@ -1547,7 +1547,7 @@ pub fn is_range_full(cx: &LateContext<'_>, expr: &Expr<'_>, container_path: Opti
|
||||||
if let rustc_ty::Adt(_, subst) = ty.kind()
|
if let rustc_ty::Adt(_, subst) = ty.kind()
|
||||||
&& let bnd_ty = subst.type_at(0)
|
&& let bnd_ty = subst.type_at(0)
|
||||||
&& let Some(max_val) = bnd_ty.numeric_max_val(cx.tcx)
|
&& let Some(max_val) = bnd_ty.numeric_max_val(cx.tcx)
|
||||||
&& let Some(max_const) = mir_to_const(cx, Const::from_ty_const(max_val, cx.tcx))
|
&& let Some(max_const) = mir_to_const(cx, Const::from_ty_const(max_val, bnd_ty, cx.tcx))
|
||||||
&& let Some(end_const) = constant(cx, cx.typeck_results(), end)
|
&& let Some(end_const) = constant(cx, cx.typeck_results(), end)
|
||||||
{
|
{
|
||||||
end_const == max_const
|
end_const == max_const
|
||||||
|
|
Loading…
Reference in a new issue