mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
Rollup merge of #76757 - matthiaskrgr:clippy_try_into, r=lcnr
don't convert types to the same type with try_into (clippy::useless_conversion)
This commit is contained in:
commit
4831523ac4
@ -4,7 +4,6 @@ use rustc_middle::mir::*;
|
|||||||
use rustc_middle::ty::{self, TyCtxt};
|
use rustc_middle::ty::{self, TyCtxt};
|
||||||
use smallvec::{smallvec, SmallVec};
|
use smallvec::{smallvec, SmallVec};
|
||||||
|
|
||||||
use std::convert::TryInto;
|
|
||||||
use std::mem;
|
use std::mem;
|
||||||
|
|
||||||
use super::abs_domain::Lift;
|
use super::abs_domain::Lift;
|
||||||
@ -481,12 +480,7 @@ impl<'b, 'a, 'tcx> Gatherer<'b, 'a, 'tcx> {
|
|||||||
};
|
};
|
||||||
let base_ty = base_place.ty(self.builder.body, self.builder.tcx).ty;
|
let base_ty = base_place.ty(self.builder.body, self.builder.tcx).ty;
|
||||||
let len: u64 = match base_ty.kind() {
|
let len: u64 = match base_ty.kind() {
|
||||||
ty::Array(_, size) => {
|
ty::Array(_, size) => size.eval_usize(self.builder.tcx, self.builder.param_env),
|
||||||
let length = size.eval_usize(self.builder.tcx, self.builder.param_env);
|
|
||||||
length
|
|
||||||
.try_into()
|
|
||||||
.expect("slice pattern of array with more than u32::MAX elements")
|
|
||||||
}
|
|
||||||
_ => bug!("from_end: false slice pattern of non-array type"),
|
_ => bug!("from_end: false slice pattern of non-array type"),
|
||||||
};
|
};
|
||||||
for offset in from..to {
|
for offset in from..to {
|
||||||
|
@ -551,7 +551,7 @@ where
|
|||||||
let n = base.len(self)?;
|
let n = base.len(self)?;
|
||||||
if n < min_length {
|
if n < min_length {
|
||||||
// This can only be reached in ConstProp and non-rustc-MIR.
|
// This can only be reached in ConstProp and non-rustc-MIR.
|
||||||
throw_ub!(BoundsCheckFailed { len: min_length.into(), index: n });
|
throw_ub!(BoundsCheckFailed { len: min_length, index: n });
|
||||||
}
|
}
|
||||||
|
|
||||||
let index = if from_end {
|
let index = if from_end {
|
||||||
@ -565,9 +565,7 @@ where
|
|||||||
self.mplace_index(base, index)?
|
self.mplace_index(base, index)?
|
||||||
}
|
}
|
||||||
|
|
||||||
Subslice { from, to, from_end } => {
|
Subslice { from, to, from_end } => self.mplace_subslice(base, from, to, from_end)?,
|
||||||
self.mplace_subslice(base, u64::from(from), u64::from(to), from_end)?
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
|
|||||||
let tcx = self.hir.tcx();
|
let tcx = self.hir.tcx();
|
||||||
let (min_length, exact_size) = match place.ty(&self.local_decls, tcx).ty.kind() {
|
let (min_length, exact_size) = match place.ty(&self.local_decls, tcx).ty.kind() {
|
||||||
ty::Array(_, length) => {
|
ty::Array(_, length) => {
|
||||||
(length.eval_usize(tcx, self.hir.param_env).try_into().unwrap(), true)
|
(length.eval_usize(tcx, self.hir.param_env), true)
|
||||||
}
|
}
|
||||||
_ => ((prefix.len() + suffix.len()).try_into().unwrap(), false),
|
_ => ((prefix.len() + suffix.len()).try_into().unwrap(), false),
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user