Drive-by get rid of a bunch of unnecessary :?
This commit is contained in:
parent
c00343a5b4
commit
ed0a798828
1 changed files with 23 additions and 25 deletions
|
|
@ -57,7 +57,7 @@ impl<'tcx> crate::MirPass<'tcx> for Validator {
|
|||
ty::Coroutine(..) => ExternAbi::Rust,
|
||||
// No need to do MIR validation on error bodies
|
||||
ty::Error(_) => return,
|
||||
_ => span_bug!(body.span, "unexpected body ty: {body_ty:?}"),
|
||||
_ => span_bug!(body.span, "unexpected body ty: {body_ty}"),
|
||||
};
|
||||
|
||||
ty::layout::fn_can_unwind(tcx, Some(def_id), body_abi)
|
||||
|
|
@ -662,7 +662,7 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> {
|
|||
ProjectionElem::Index(index) => {
|
||||
let index_ty = self.body.local_decls[index].ty;
|
||||
if index_ty != self.tcx.types.usize {
|
||||
self.fail(location, format!("bad index ({index_ty:?} != usize)"))
|
||||
self.fail(location, format!("bad index ({index_ty} != usize)"))
|
||||
}
|
||||
}
|
||||
ProjectionElem::Deref
|
||||
|
|
@ -671,10 +671,7 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> {
|
|||
let base_ty = place_ref.ty(&self.body.local_decls, self.tcx).ty;
|
||||
|
||||
if base_ty.is_box() {
|
||||
self.fail(
|
||||
location,
|
||||
format!("{base_ty:?} dereferenced after ElaborateBoxDerefs"),
|
||||
)
|
||||
self.fail(location, format!("{base_ty} dereferenced after ElaborateBoxDerefs"))
|
||||
}
|
||||
}
|
||||
ProjectionElem::Field(f, ty) => {
|
||||
|
|
@ -687,7 +684,7 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> {
|
|||
this.fail(
|
||||
location,
|
||||
format!(
|
||||
"Field projection `{place_ref:?}.{f:?}` specified type `{ty:?}`, but actual type is `{f_ty:?}`"
|
||||
"Field projection `{place_ref:?}.{f:?}` specified type `{ty}`, but actual type is `{f_ty}`"
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
@ -813,7 +810,7 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> {
|
|||
self.fail(
|
||||
location,
|
||||
format!(
|
||||
"Failed subtyping {ty:#?} and {:#?}",
|
||||
"Failed subtyping {ty} and {}",
|
||||
place_ref.ty(&self.body.local_decls, self.tcx).ty
|
||||
),
|
||||
)
|
||||
|
|
@ -833,7 +830,7 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> {
|
|||
self.fail(
|
||||
location,
|
||||
format!(
|
||||
"Cannot unwrap unsafe binder {binder_ty:?} into type {unwrapped_ty:?}"
|
||||
"Cannot unwrap unsafe binder {binder_ty:?} into type {unwrapped_ty}"
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
@ -848,7 +845,7 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> {
|
|||
if ty.is_union() || ty.is_enum() {
|
||||
self.fail(
|
||||
START_BLOCK.start_location(),
|
||||
format!("invalid type {ty:?} in debuginfo for {:?}", debuginfo.name),
|
||||
format!("invalid type {ty} in debuginfo for {:?}", debuginfo.name),
|
||||
);
|
||||
}
|
||||
if projection.is_empty() {
|
||||
|
|
@ -1071,15 +1068,13 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> {
|
|||
if !self.mir_assign_valid_types(a, b) {
|
||||
self.fail(
|
||||
location,
|
||||
format!("Cannot {op:?} compare incompatible types {a:?} and {b:?}"),
|
||||
format!("Cannot {op:?} compare incompatible types {a} and {b}"),
|
||||
);
|
||||
}
|
||||
} else if a != b {
|
||||
self.fail(
|
||||
location,
|
||||
format!(
|
||||
"Cannot perform binary op {op:?} on unequal types {a:?} and {b:?}"
|
||||
),
|
||||
format!("Cannot perform binary op {op:?} on unequal types {a} and {b}"),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -1088,7 +1083,7 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> {
|
|||
Offset => {
|
||||
check_kinds!(a, "Cannot offset non-pointer type {:?}", ty::RawPtr(..));
|
||||
if b != self.tcx.types.isize && b != self.tcx.types.usize {
|
||||
self.fail(location, format!("Cannot offset by non-isize type {b:?}"));
|
||||
self.fail(location, format!("Cannot offset by non-isize type {b}"));
|
||||
}
|
||||
}
|
||||
Eq | Lt | Le | Ne | Ge | Gt => {
|
||||
|
|
@ -1320,7 +1315,7 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> {
|
|||
{
|
||||
self.fail(
|
||||
location,
|
||||
format!("Cannot transmute from non-`Sized` type {op_ty:?}"),
|
||||
format!("Cannot transmute from non-`Sized` type {op_ty}"),
|
||||
);
|
||||
}
|
||||
if !self
|
||||
|
|
@ -1347,7 +1342,7 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> {
|
|||
}
|
||||
Rvalue::NullaryOp(NullOp::OffsetOf(indices), container) => {
|
||||
let fail_out_of_bounds = |this: &mut Self, location, field, ty| {
|
||||
this.fail(location, format!("Out of bounds field {field:?} for {ty:?}"));
|
||||
this.fail(location, format!("Out of bounds field {field:?} for {ty}"));
|
||||
};
|
||||
|
||||
let mut current_ty = *container;
|
||||
|
|
@ -1381,7 +1376,7 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> {
|
|||
_ => {
|
||||
self.fail(
|
||||
location,
|
||||
format!("Cannot get offset ({variant:?}, {field:?}) from type {current_ty:?}"),
|
||||
format!("Cannot get offset ({variant:?}, {field:?}) from type {current_ty}"),
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
|
@ -1410,7 +1405,7 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> {
|
|||
if !self.mir_assign_valid_types(unwrapped_ty, binder_inner_ty) {
|
||||
self.fail(
|
||||
location,
|
||||
format!("Cannot wrap {unwrapped_ty:?} into unsafe binder {binder_ty:?}"),
|
||||
format!("Cannot wrap {unwrapped_ty} into unsafe binder {binder_ty:?}"),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -1496,24 +1491,27 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> {
|
|||
// since CopyNonOverlapping is parametrized by 1 type,
|
||||
// we only need to check that they are equal and not keep an extra parameter.
|
||||
if !self.mir_assign_valid_types(op_src_ty, op_dst_ty) {
|
||||
self.fail(location, format!("bad arg ({op_src_ty:?} != {op_dst_ty:?})"));
|
||||
self.fail(location, format!("bad arg ({op_src_ty} != {op_dst_ty})"));
|
||||
}
|
||||
|
||||
let op_cnt_ty = count.ty(&self.body.local_decls, self.tcx);
|
||||
if op_cnt_ty != self.tcx.types.usize {
|
||||
self.fail(location, format!("bad arg ({op_cnt_ty:?} != usize)"))
|
||||
self.fail(location, format!("bad arg ({op_cnt_ty} != usize)"))
|
||||
}
|
||||
}
|
||||
StatementKind::SetDiscriminant { place, .. } => {
|
||||
if self.body.phase < MirPhase::Runtime(RuntimePhase::Initial) {
|
||||
self.fail(location, "`SetDiscriminant`is not allowed until deaggregation");
|
||||
}
|
||||
let pty = place.ty(&self.body.local_decls, self.tcx).ty.kind();
|
||||
if !matches!(pty, ty::Adt(..) | ty::Coroutine(..) | ty::Alias(ty::Opaque, ..)) {
|
||||
let pty = place.ty(&self.body.local_decls, self.tcx).ty;
|
||||
if !matches!(
|
||||
pty.kind(),
|
||||
ty::Adt(..) | ty::Coroutine(..) | ty::Alias(ty::Opaque, ..)
|
||||
) {
|
||||
self.fail(
|
||||
location,
|
||||
format!(
|
||||
"`SetDiscriminant` is only allowed on ADTs and coroutines, not {pty:?}"
|
||||
"`SetDiscriminant` is only allowed on ADTs and coroutines, not {pty}"
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
@ -1562,7 +1560,7 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> {
|
|||
if ScalarInt::try_from_uint(value, size).is_none() {
|
||||
self.fail(
|
||||
location,
|
||||
format!("the value {value:#x} is not a proper {switch_ty:?}"),
|
||||
format!("the value {value:#x} is not a proper {switch_ty}"),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue