Implement Display
and Hash
for std::num::Wrapping
Also, change the `Debug` implementation to only show the inner value. Fixes #33006.
This commit is contained in:
parent
6fa61b810d
commit
79e68a61a9
@ -38,9 +38,23 @@ use slice::SliceExt;
|
||||
/// all standard arithmetic operations on the underlying value are
|
||||
/// intended to have wrapping semantics.
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[derive(PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Debug, Default)]
|
||||
#[derive(PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Default, Hash)]
|
||||
pub struct Wrapping<T>(#[stable(feature = "rust1", since = "1.0.0")] pub T);
|
||||
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl<T: fmt::Debug> fmt::Debug for Wrapping<T> {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
self.0.fmt(f)
|
||||
}
|
||||
}
|
||||
|
||||
#[stable(feature = "wrapping_display", since = "1.10.0")]
|
||||
impl<T: fmt::Display> fmt::Display for Wrapping<T> {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
self.0.fmt(f)
|
||||
}
|
||||
}
|
||||
|
||||
mod wrapping;
|
||||
|
||||
// All these modules are technically private and only exposed for libcoretest:
|
||||
|
Loading…
Reference in New Issue
Block a user