Skip to main content

UpperHex

Trait UpperHex 

1.6.0 · Source
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 · Source

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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

§

impl UpperHex for AttributeTag

§

impl UpperHex for AuxType

§

impl UpperHex for BaseRelocationType

§

impl UpperHex for BindDylib

§

impl UpperHex for BindOpcode

§

impl UpperHex for BindSubopcodeThreaded

§

impl UpperHex for BindSymbolFlags

§

impl UpperHex for BindType

§

impl UpperHex for ComdatSelection

§

impl UpperHex for CompressionType

§

impl UpperHex for CorFlags

§

impl UpperHex for CorVtableFlags

§

impl UpperHex for CpuSubtype

§

impl UpperHex for CpuSubtypeId

§

impl UpperHex for CpuType

§

impl UpperHex for CsExecSegFlags

§

impl UpperHex for CsFlags

§

impl UpperHex for CsHashType

§

impl UpperHex for CsSlot

§

impl UpperHex for CsVersion

§

impl UpperHex for CsectAuxClass

§

impl UpperHex for CsectAuxSmtyp

§

impl UpperHex for CsectAuxType

§

impl UpperHex for DataEncoding

§

impl UpperHex for DebugType

§

impl UpperHex for DiceKind

§

impl UpperHex for DllFlags

§

impl UpperHex for DyldCacheMappingFlags

§

impl UpperHex for DyldChainedImport32

§

impl UpperHex for DyldChainedImport64

§

impl UpperHex for DyldChainedImportFormat

§

impl UpperHex for DyldChainedPtrFormat

§

impl UpperHex for DylibUseFlags

§

impl UpperHex for DynamicFlags

§

impl UpperHex for DynamicFlags1

§

impl UpperHex for DynamicRelocationSymbol

§

impl UpperHex for DynamicTag

§

impl UpperHex for EnclaveFlags

§

impl UpperHex for EnclaveImportMatchType

§

impl UpperHex for EnclavePolicyFlags

§

impl UpperHex for ExportSymbolFlags

§

impl UpperHex for ExportSymbolKind

§

impl UpperHex for FileAuxType

§

impl UpperHex for FileClass

§

impl UpperHex for FileFlags

§

impl UpperHex for FileFlags

§

impl UpperHex for FileFlags

§

impl UpperHex for FileFlags

§

impl UpperHex for FileType

§

impl UpperHex for FileType

§

impl UpperHex for FileVersion

§

impl UpperHex for FrameType

§

impl UpperHex for GnuPropertyType

§

impl UpperHex for GroupFlags

§

impl UpperHex for GuardFlags

§

impl UpperHex for GuardFunctionFlags

§

impl UpperHex for HotPatchBaseFlags

§

impl UpperHex for HotPatchChunkFlags

§

impl UpperHex for ImportObjectFlags

§

impl UpperHex for ImportObjectNameType

§

impl UpperHex for ImportObjectType

§

impl UpperHex for IndirectSymbol

§

impl UpperHex for LoadCommandType

§

impl UpperHex for Machine

§

impl UpperHex for Machine

§

impl UpperHex for NoteType

§

impl UpperHex for OsAbi

§

impl UpperHex for Platform

§

impl UpperHex for ProgramFlags

§

impl UpperHex for ProgramType

§

impl UpperHex for RebaseOpcode

§

impl UpperHex for RebaseType

§

impl UpperHex for RelocationType

§

impl UpperHex for RelocationType

§

impl UpperHex for RelocationType

§

impl UpperHex for RelocationType

§

impl UpperHex for SectionFlags

§

impl UpperHex for SectionFlags

§

impl UpperHex for SectionFlags

§

impl UpperHex for SectionFlags

§

impl UpperHex for SectionType

§

impl UpperHex for SectionType

§

impl UpperHex for SectionType

§

impl UpperHex for SegmentFlags

§

impl UpperHex for SegmentFlags

§

impl UpperHex for Subsystem

§

impl UpperHex for SymbolBaseType

§

impl UpperHex for SymbolBind

§

impl UpperHex for SymbolClass

§

impl UpperHex for SymbolClass

§

impl UpperHex for SymbolDerivedType

§

impl UpperHex for SymbolDesc

§

impl UpperHex for SymbolFlags

§

impl UpperHex for SymbolFlags

§

impl UpperHex for SymbolInfo

§

impl UpperHex for SymbolLibrary

§

impl UpperHex for SymbolOther

§

impl UpperHex for SymbolReference

§

impl UpperHex for SymbolSection

§

impl UpperHex for SymbolSection

§

impl UpperHex for SymbolSection

§

impl UpperHex for SymbolStab

§

impl UpperHex for SymbolType

§

impl UpperHex for SymbolType

§

impl UpperHex for SymbolType

§

impl UpperHex for SymbolType

§

impl UpperHex for SymbolVisibility

§

impl UpperHex for SymbolVisibility

§

impl UpperHex for SyminfoBoundto

§

impl UpperHex for SyminfoFlags

§

impl UpperHex for Tool

§

impl UpperHex for Version

§

impl UpperHex for VersionFlags

§

impl UpperHex for VersionIndex

§

impl UpperHex for VersymIndex

§

impl UpperHex for VmProt

§

impl UpperHex for WasmFeatures

§

impl UpperHex for WeakExternSearch

1.0.0 · Source§

impl UpperHex for i8

1.0.0 · Source§

impl UpperHex for i16

1.0.0 · Source§

impl UpperHex for i32

1.0.0 · Source§

impl UpperHex for i64

1.0.0 · Source§

impl UpperHex for i128

1.0.0 · Source§

impl UpperHex for isize

1.0.0 · Source§

impl UpperHex for u8

1.0.0 · Source§

impl UpperHex for u16

1.0.0 · Source§

impl UpperHex for u32

1.0.0 · Source§

impl UpperHex for u64

1.0.0 · Source§

impl UpperHex for u128

1.0.0 · Source§

impl UpperHex for usize

1.0.0 · Source§

impl<T> UpperHex for &T
where T: UpperHex + ?Sized,

1.0.0 · Source§

impl<T> UpperHex for &mut T
where T: UpperHex + ?Sized,

§

impl<T> UpperHex for GenericArray<u8, T>
where T: ArrayLength<u8> + Add, <T as Add>::Output: ArrayLength<u8>,

1.28.0 · Source§

impl<T> UpperHex for NonZero<T>

1.74.0 · Source§

impl<T> UpperHex for Saturating<T>
where T: UpperHex,

1.11.0 · Source§

impl<T> UpperHex for Wrapping<T>
where T: UpperHex,