Don't render Const computed values in hexadecimal for Display
This commit is contained in:
parent
6421a499a5
commit
c5ce3e1dbc
3 changed files with 17 additions and 1 deletions
|
@ -456,6 +456,11 @@ impl<'tcx, Tag: Provenance> Scalar<Tag> {
|
||||||
// Going through `u64` to check size and truncation.
|
// Going through `u64` to check size and truncation.
|
||||||
Ok(Double::from_bits(self.to_u64()?.into()))
|
Ok(Double::from_bits(self.to_u64()?.into()))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FIXME: Replace current `impl Display for Scalar` with `impl LowerHex`.
|
||||||
|
pub fn rustdoc_display(&self) -> String {
|
||||||
|
if let Scalar::Int(int) = self { int.to_string() } else { self.to_string() }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Copy, Eq, PartialEq, TyEncodable, TyDecodable, HashStable, Hash)]
|
#[derive(Clone, Copy, Eq, PartialEq, TyEncodable, TyDecodable, HashStable, Hash)]
|
||||||
|
|
|
@ -374,3 +374,10 @@ impl fmt::UpperHex for ScalarInt {
|
||||||
write!(f, "{:01$X}", { self.data }, self.size as usize * 2)
|
write!(f, "{:01$X}", { self.data }, self.size as usize * 2)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl fmt::Display for ScalarInt {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
|
self.check_data();
|
||||||
|
write!(f, "{}", { self.data })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -302,7 +302,11 @@ fn print_const_with_custom_print_scalar(tcx: TyCtxt<'_>, ct: &ty::Const<'_>) ->
|
||||||
// For all other types, fallback to the original `pretty_print_const`.
|
// For all other types, fallback to the original `pretty_print_const`.
|
||||||
match (ct.val, ct.ty.kind()) {
|
match (ct.val, ct.ty.kind()) {
|
||||||
(ty::ConstKind::Value(ConstValue::Scalar(int)), ty::Uint(ui)) => {
|
(ty::ConstKind::Value(ConstValue::Scalar(int)), ty::Uint(ui)) => {
|
||||||
format!("{}{}", format_integer_with_underscore_sep(&int.to_string()), ui.name_str())
|
format!(
|
||||||
|
"{}{}",
|
||||||
|
format_integer_with_underscore_sep(&int.rustdoc_display()),
|
||||||
|
ui.name_str()
|
||||||
|
)
|
||||||
}
|
}
|
||||||
(ty::ConstKind::Value(ConstValue::Scalar(int)), ty::Int(i)) => {
|
(ty::ConstKind::Value(ConstValue::Scalar(int)), ty::Int(i)) => {
|
||||||
let ty = tcx.lift(ct.ty).unwrap();
|
let ty = tcx.lift(ct.ty).unwrap();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue