pub trait LowerHex {
// Required method
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}Expand description
x formatting.
The LowerHex trait should format its output as a number in hexadecimal, with a through f
in lower 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 LowerHex on a type:
use std::fmt;
struct Length(i32);
impl fmt::LowerHex for Length {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let val = self.0;
fmt::LowerHex::fmt(&val, f) // delegate to i32's implementation
}
}
let l = Length(9);
assert_eq!(format!("l as hex is: {l:x}"), "l as hex is: 9");
assert_eq!(format!("l as hex is: {l:#010x}"), "l as hex is: 0x00000009");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 LowerHex for i8
impl LowerHex for i16
impl LowerHex for i32
impl LowerHex for i64
impl LowerHex for i128
impl LowerHex for isize
impl LowerHex for u8
impl LowerHex for u16
impl LowerHex for u32
impl LowerHex for u64
impl LowerHex for u128
impl LowerHex for usize
impl LowerHex for bf16
target_arch=spirv only.impl LowerHex for Flags
impl LowerHex for Functionality
impl LowerHex for I2CMessageFlags
impl LowerHex for AtFlags
impl LowerHex for FallocateFlags
impl LowerHex for nix::fcntl::FdFlag
impl LowerHex for OFlag
impl LowerHex for RenameFlags
impl LowerHex for SealFlag
impl LowerHex for SpliceFFlags
impl LowerHex for DeleteModuleFlags
impl LowerHex for ModuleInitFlags
impl LowerHex for MntFlags
impl LowerHex for nix::mount::linux::MsFlags
impl LowerHex for nix::mqueue::FdFlag
impl LowerHex for MQ_OFlag
impl LowerHex for InterfaceFlags
impl LowerHex for PollFlags
impl LowerHex for CloneFlags
impl LowerHex for EpollCreateFlags
impl LowerHex for EpollFlags
impl LowerHex for EfdFlags
impl LowerHex for AddWatchFlags
impl LowerHex for InitFlags
impl LowerHex for MemFdCreateFlag
impl LowerHex for MRemapFlags
impl LowerHex for MapFlags
impl LowerHex for MlockAllFlags
impl LowerHex for nix::sys::mman::MsFlags
impl LowerHex for ProtFlags
impl LowerHex for Persona
impl LowerHex for Options
impl LowerHex for QuotaValidFlags
impl LowerHex for SaFlags
impl LowerHex for SfdFlags
impl LowerHex for MsgFlags
impl LowerHex for SockFlag
impl LowerHex for Mode
impl LowerHex for SFlag
impl LowerHex for FsFlags
impl LowerHex for ControlFlags
impl LowerHex for InputFlags
impl LowerHex for LocalFlags
impl LowerHex for OutputFlags
impl LowerHex for TimerFlags
impl LowerHex for TimerSetTimeFlags
impl LowerHex for WaitPidFlag
impl LowerHex for AccessFlags
impl LowerHex for BigInt
impl LowerHex for BigUint
impl LowerHex for m128
impl LowerHex for m128d
impl LowerHex for m128i
impl LowerHex for m256
impl LowerHex for m256d
impl LowerHex for m256i
impl LowerHex for f32x4
impl LowerHex for f32x8
impl LowerHex for f64x2
impl LowerHex for f64x4
impl LowerHex for i8x16
impl LowerHex for i8x32
impl LowerHex for i16x8
impl LowerHex for i16x16
impl LowerHex for i32x4
impl LowerHex for i32x8
impl LowerHex for i64x2
impl LowerHex for i64x4
impl LowerHex for u8x16
impl LowerHex for u8x32
impl LowerHex for u16x8
impl LowerHex for u16x16
impl LowerHex for u32x4
impl LowerHex for u32x8
impl LowerHex for u64x2
impl LowerHex for u64x4
impl LowerHex for PollEvents
impl LowerHex for f16
target_arch=spirv only.