ScalarMaybeUninit is explicitly hexadecimal in its formatting

This commit is contained in:
Ralf Jung 2022-02-21 21:46:51 -05:00
parent b8967b0d52
commit fb1ee8764f
3 changed files with 8 additions and 8 deletions

View File

@ -142,11 +142,11 @@ impl<Tag: Provenance> std::fmt::Display for ImmTy<'_, Tag> {
p(cx, s, ty)?; p(cx, s, ty)?;
return Ok(()); return Ok(());
} }
write!(f, "{}: {}", s, self.layout.ty) write!(f, "{:x}: {}", s, self.layout.ty)
} }
Immediate::ScalarPair(a, b) => { Immediate::ScalarPair(a, b) => {
// FIXME(oli-obk): at least print tuples and slices nicely // FIXME(oli-obk): at least print tuples and slices nicely
write!(f, "({}, {}): {}", a, b, self.layout.ty,) write!(f, "({:x}, {:x}): {}", a, b, self.layout.ty,)
} }
} }
}) })

View File

@ -503,7 +503,7 @@ impl<'rt, 'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> ValidityVisitor<'rt, 'mir, '
value.to_bool(), value.to_bool(),
self.path, self.path,
err_ub!(InvalidBool(..)) | err_ub!(InvalidUninitBytes(None)) => err_ub!(InvalidBool(..)) | err_ub!(InvalidUninitBytes(None)) =>
{ "{}", value } expected { "a boolean" }, { "{:x}", value } expected { "a boolean" },
); );
Ok(true) Ok(true)
} }
@ -513,7 +513,7 @@ impl<'rt, 'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> ValidityVisitor<'rt, 'mir, '
value.to_char(), value.to_char(),
self.path, self.path,
err_ub!(InvalidChar(..)) | err_ub!(InvalidUninitBytes(None)) => err_ub!(InvalidChar(..)) | err_ub!(InvalidUninitBytes(None)) =>
{ "{}", value } expected { "a valid unicode scalar value (in `0..=0x10FFFF` but not in `0xD800..=0xDFFF`)" }, { "{:x}", value } expected { "a valid unicode scalar value (in `0..=0x10FFFF` but not in `0xD800..=0xDFFF`)" },
); );
Ok(true) Ok(true)
} }
@ -526,7 +526,7 @@ impl<'rt, 'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> ValidityVisitor<'rt, 'mir, '
let is_bits = value.check_init().map_or(false, |v| v.try_to_int().is_ok()); let is_bits = value.check_init().map_or(false, |v| v.try_to_int().is_ok());
if !is_bits { if !is_bits {
throw_validation_failure!(self.path, throw_validation_failure!(self.path,
{ "{}", value } expected { "initialized plain (non-pointer) bytes" } { "{:x}", value } expected { "initialized plain (non-pointer) bytes" }
) )
} }
} }
@ -580,7 +580,7 @@ impl<'rt, 'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> ValidityVisitor<'rt, 'mir, '
err_ub!(DanglingIntPointer(..)) | err_ub!(DanglingIntPointer(..)) |
err_ub!(InvalidFunctionPointer(..)) | err_ub!(InvalidFunctionPointer(..)) |
err_ub!(InvalidUninitBytes(None)) => err_ub!(InvalidUninitBytes(None)) =>
{ "{}", value } expected { "a function pointer" }, { "{:x}", value } expected { "a function pointer" },
); );
// FIXME: Check if the signature matches // FIXME: Check if the signature matches
Ok(true) Ok(true)
@ -632,7 +632,7 @@ impl<'rt, 'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> ValidityVisitor<'rt, 'mir, '
let value = try_validation!( let value = try_validation!(
value.check_init(), value.check_init(),
self.path, self.path,
err_ub!(InvalidUninitBytes(None)) => { "{}", value } err_ub!(InvalidUninitBytes(None)) => { "{:x}", value }
expected { "something {}", wrapping_range_format(valid_range, max_value) }, expected { "something {}", wrapping_range_format(valid_range, max_value) },
); );
let bits = match value.try_to_int() { let bits = match value.try_to_int() {

View File

@ -498,7 +498,7 @@ impl<Tag: Provenance> fmt::Debug for ScalarMaybeUninit<Tag> {
} }
} }
impl<Tag: Provenance> fmt::Display for ScalarMaybeUninit<Tag> { impl<Tag: Provenance> fmt::LowerHex for ScalarMaybeUninit<Tag> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self { match self {
ScalarMaybeUninit::Uninit => write!(f, "uninitialized bytes"), ScalarMaybeUninit::Uninit => write!(f, "uninitialized bytes"),