Rollup merge of #69565 - RalfJung:assert, r=eddyb
miri engine: turn some debug_assert into assert @eddyb said to avoid debug assertions in rustc. These checks here look like they are probably not too expensive. Cc @oli-obk
This commit is contained in:
commit
fab54fc34e
5 changed files with 7 additions and 7 deletions
|
|
@ -202,7 +202,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
|||
|
||||
Char => {
|
||||
// `u8` to `char` cast
|
||||
debug_assert_eq!(v as u8 as u128, v);
|
||||
assert_eq!(v as u8 as u128, v);
|
||||
Ok(Scalar::from_uint(v, Size::from_bytes(4)))
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -234,7 +234,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
|||
BitXor => (Scalar::from_uint(l ^ r, size), left_layout.ty),
|
||||
|
||||
Add | Sub | Mul | Rem | Div => {
|
||||
debug_assert!(!left_layout.abi.is_signed());
|
||||
assert!(!left_layout.abi.is_signed());
|
||||
let op: fn(u128, u128) -> (u128, bool) = match bin_op {
|
||||
Add => u128::overflowing_add,
|
||||
Sub => u128::overflowing_sub,
|
||||
|
|
|
|||
|
|
@ -287,7 +287,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
|||
self.eval_terminator(terminator)?;
|
||||
if !self.stack.is_empty() {
|
||||
// This should change *something*
|
||||
debug_assert!(self.cur_frame() != old_stack || self.frame().block != old_bb);
|
||||
assert!(self.cur_frame() != old_stack || self.frame().block != old_bb);
|
||||
if let Some(block) = self.frame().block {
|
||||
info!("// executing {:?}", block);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -172,7 +172,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
|||
}
|
||||
let caller_arg = caller_arg.next().ok_or_else(|| err_unsup!(FunctionArgCountMismatch))?;
|
||||
if rust_abi {
|
||||
debug_assert!(!caller_arg.layout.is_zst(), "ZSTs must have been already filtered out");
|
||||
assert!(!caller_arg.layout.is_zst(), "ZSTs must have been already filtered out");
|
||||
}
|
||||
// Now, check
|
||||
if !Self::check_argument_compat(rust_abi, caller_arg.layout, callee_arg.layout) {
|
||||
|
|
|
|||
|
|
@ -144,16 +144,16 @@ fn wrapping_range_contains(r: &RangeInclusive<u128>, test: u128) -> bool {
|
|||
// "expected something <in the given range>" makes sense.
|
||||
fn wrapping_range_format(r: &RangeInclusive<u128>, max_hi: u128) -> String {
|
||||
let (lo, hi) = r.clone().into_inner();
|
||||
debug_assert!(hi <= max_hi);
|
||||
assert!(hi <= max_hi);
|
||||
if lo > hi {
|
||||
format!("less or equal to {}, or greater or equal to {}", hi, lo)
|
||||
} else if lo == hi {
|
||||
format!("equal to {}", lo)
|
||||
} else if lo == 0 {
|
||||
debug_assert!(hi < max_hi, "should not be printing if the range covers everything");
|
||||
assert!(hi < max_hi, "should not be printing if the range covers everything");
|
||||
format!("less or equal to {}", hi)
|
||||
} else if hi == max_hi {
|
||||
debug_assert!(lo > 0, "should not be printing if the range covers everything");
|
||||
assert!(lo > 0, "should not be printing if the range covers everything");
|
||||
format!("greater or equal to {}", lo)
|
||||
} else {
|
||||
format!("in the range {:?}", r)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue