Use fmt_hex_exact
Currently we have two functions for displaying forwards and backwards and we also have `fmt_hex_exact`. I do not know why we added the functions. In the latest version of hex we do not have the ability to construct a `DisplayArray` type so we have to use `fmt_hex_exact`. Make the change now, separate from the `hex` upgrade, to assist review.
This commit is contained in:
parent
6820f51408
commit
f0558e8eb9
|
@ -71,22 +71,6 @@ pub(crate) use arr_newtype_fmt_impl;
|
|||
macro_rules! hash_trait_impls {
|
||||
($bits:expr, $reverse:expr $(, $gen:ident: $gent:ident)*) => {
|
||||
impl<$($gen: $gent),*> Hash<$($gen),*> {
|
||||
/// Displays hex forwards, regardless of how this type would display it naturally.
|
||||
///
|
||||
/// This is mainly intended as an internal method and you shouldn't need it unless
|
||||
/// you're doing something special.
|
||||
pub fn forward_hex(&self) -> impl '_ + core::fmt::LowerHex + core::fmt::UpperHex {
|
||||
$crate::hex::DisplayHex::as_hex(&self.0)
|
||||
}
|
||||
|
||||
/// Displays hex backwards, regardless of how this type would display it naturally.
|
||||
///
|
||||
/// This is mainly intended as an internal method and you shouldn't need it unless
|
||||
/// you're doing something special.
|
||||
pub fn backward_hex(&self) -> impl '_ + core::fmt::LowerHex + core::fmt::UpperHex {
|
||||
$crate::hex::display::DisplayArray::<_, [u8; $bits / 8 * 2]>::new(self.0.iter().rev())
|
||||
}
|
||||
|
||||
/// Zero cost conversion between a fixed length byte array shared reference and
|
||||
/// a shared reference to this Hash type.
|
||||
pub fn from_bytes_ref(bytes: &[u8; $bits / 8]) -> &Self {
|
||||
|
|
|
@ -3,17 +3,17 @@
|
|||
#[macro_export]
|
||||
/// Adds hexadecimal formatting implementation of a trait `$imp` to a given type `$ty`.
|
||||
macro_rules! hex_fmt_impl(
|
||||
($reverse:expr, $ty:ident) => (
|
||||
$crate::hex_fmt_impl!($reverse, $ty, );
|
||||
($reverse:expr, $len:expr, $ty:ident) => (
|
||||
$crate::hex_fmt_impl!($reverse, $len, $ty, );
|
||||
);
|
||||
($reverse:expr, $ty:ident, $($gen:ident: $gent:ident),*) => (
|
||||
($reverse:expr, $len:expr, $ty:ident, $($gen:ident: $gent:ident),*) => (
|
||||
impl<$($gen: $gent),*> $crate::_export::_core::fmt::LowerHex for $ty<$($gen),*> {
|
||||
#[inline]
|
||||
fn fmt(&self, f: &mut $crate::_export::_core::fmt::Formatter) -> $crate::_export::_core::fmt::Result {
|
||||
if $reverse {
|
||||
$crate::_export::_core::fmt::LowerHex::fmt(&self.0.backward_hex(), f)
|
||||
$crate::hex::fmt_hex_exact!(f, $len, <Self as $crate::Hash>::as_byte_array(&self).iter().rev(), $crate::hex::Case::Lower)
|
||||
} else {
|
||||
$crate::_export::_core::fmt::LowerHex::fmt(&self.0.forward_hex(), f)
|
||||
$crate::hex::fmt_hex_exact!(f, $len, <Self as $crate::Hash>::as_byte_array(&self), $crate::hex::Case::Lower)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -22,9 +22,9 @@ macro_rules! hex_fmt_impl(
|
|||
#[inline]
|
||||
fn fmt(&self, f: &mut $crate::_export::_core::fmt::Formatter) -> $crate::_export::_core::fmt::Result {
|
||||
if $reverse {
|
||||
$crate::_export::_core::fmt::UpperHex::fmt(&self.0.backward_hex(), f)
|
||||
$crate::hex::fmt_hex_exact!(f, $len, <Self as $crate::Hash>::as_byte_array(&self).iter().rev(), $crate::hex::Case::Upper)
|
||||
} else {
|
||||
$crate::_export::_core::fmt::UpperHex::fmt(&self.0.forward_hex(), f)
|
||||
$crate::hex::fmt_hex_exact!(f, $len, <Self as $crate::Hash>::as_byte_array(&self), $crate::hex::Case::Upper)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -188,7 +188,7 @@ macro_rules! hash_newtype {
|
|||
$({ $($type_attrs)* })*
|
||||
}
|
||||
|
||||
$crate::hex_fmt_impl!(<$newtype as $crate::Hash>::DISPLAY_BACKWARD, $newtype);
|
||||
$crate::hex_fmt_impl!(<$newtype as $crate::Hash>::DISPLAY_BACKWARD, <$newtype as $crate::Hash>::LEN, $newtype);
|
||||
$crate::serde_impl!($newtype, <$newtype as $crate::Hash>::LEN);
|
||||
$crate::borrow_slice_impl!($newtype);
|
||||
|
||||
|
|
Loading…
Reference in New Issue