pub trait UpperHex {
// Required method
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}Expand description
X formatting.
The UpperHex trait should format its output as a number in hexadecimal, with A through F
in upper case.
For primitive signed integers (i8 to i128, and isize),
negative values are formatted as the two’s complement representation.
The alternate flag, #, adds a 0x in front of the output.
For more information on formatters, see the module-level documentation.
§Examples
Basic usage with i32:
let y = 42; // 42 is '2A' in hex
assert_eq!(format!("{y:X}"), "2A");
assert_eq!(format!("{y:#X}"), "0x2A");
assert_eq!(format!("{:X}", -16), "FFFFFFF0");Implementing UpperHex on a type:
use std::fmt;
struct Length(i32);
impl fmt::UpperHex for Length {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let val = self.0;
fmt::UpperHex::fmt(&val, f) // delegate to i32's implementation
}
}
let l = Length(i32::MAX);
assert_eq!(format!("l as hex is: {l:X}"), "l as hex is: 7FFFFFFF");
assert_eq!(format!("l as hex is: {l:#010X}"), "l as hex is: 0x7FFFFFFF");Required Methods§
1.0.0 · Sourcefn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter.
§Errors
This function should return Err if, and only if, the provided Formatter returns Err.
String formatting is considered an infallible operation; this function only
returns a Result because writing to the underlying stream might fail and it must
provide a way to propagate the fact that an error has occurred back up the stack.
Implementors§
impl UpperHex for i8
impl UpperHex for i16
impl UpperHex for i32
impl UpperHex for i64
impl UpperHex for i128
impl UpperHex for isize
impl UpperHex for u8
impl UpperHex for u16
impl UpperHex for u32
impl UpperHex for u64
impl UpperHex for u128
impl UpperHex for usize
impl UpperHex for bf16
target_arch=spirv only.impl UpperHex for Flags
impl UpperHex for Functionality
impl UpperHex for I2CMessageFlags
impl UpperHex for AtFlags
impl UpperHex for FallocateFlags
impl UpperHex for nix::fcntl::FdFlag
impl UpperHex for OFlag
impl UpperHex for RenameFlags
impl UpperHex for SealFlag
impl UpperHex for SpliceFFlags
impl UpperHex for DeleteModuleFlags
impl UpperHex for ModuleInitFlags
impl UpperHex for MntFlags
impl UpperHex for nix::mount::linux::MsFlags
impl UpperHex for nix::mqueue::FdFlag
impl UpperHex for MQ_OFlag
impl UpperHex for InterfaceFlags
impl UpperHex for PollFlags
impl UpperHex for CloneFlags
impl UpperHex for EpollCreateFlags
impl UpperHex for EpollFlags
impl UpperHex for EfdFlags
impl UpperHex for AddWatchFlags
impl UpperHex for InitFlags
impl UpperHex for MemFdCreateFlag
impl UpperHex for MRemapFlags
impl UpperHex for MapFlags
impl UpperHex for MlockAllFlags
impl UpperHex for nix::sys::mman::MsFlags
impl UpperHex for ProtFlags
impl UpperHex for Persona
impl UpperHex for Options
impl UpperHex for QuotaValidFlags
impl UpperHex for SaFlags
impl UpperHex for SfdFlags
impl UpperHex for MsgFlags
impl UpperHex for SockFlag
impl UpperHex for Mode
impl UpperHex for SFlag
impl UpperHex for FsFlags
impl UpperHex for ControlFlags
impl UpperHex for InputFlags
impl UpperHex for LocalFlags
impl UpperHex for OutputFlags
impl UpperHex for TimerFlags
impl UpperHex for TimerSetTimeFlags
impl UpperHex for WaitPidFlag
impl UpperHex for AccessFlags
impl UpperHex for BigInt
impl UpperHex for BigUint
impl UpperHex for m128
impl UpperHex for m128d
impl UpperHex for m128i
impl UpperHex for m256
impl UpperHex for m256d
impl UpperHex for m256i
impl UpperHex for f32x4
impl UpperHex for f32x8
impl UpperHex for f64x2
impl UpperHex for f64x4
impl UpperHex for i8x16
impl UpperHex for i8x32
impl UpperHex for i16x8
impl UpperHex for i16x16
impl UpperHex for i32x4
impl UpperHex for i32x8
impl UpperHex for i64x2
impl UpperHex for i64x4
impl UpperHex for u8x16
impl UpperHex for u8x32
impl UpperHex for u16x8
impl UpperHex for u16x16
impl UpperHex for u32x4
impl UpperHex for u32x8
impl UpperHex for u64x2
impl UpperHex for u64x4
impl UpperHex for PollEvents
impl UpperHex for f16
target_arch=spirv only.