Hex

Struct Hex 

pub struct Hex<T>(pub T)
where
    T: AsRef<[u8]>;
Expand description

A newtype around byte slices used for all of Ariel OS’s logging facades that turns the bytes into some hex output.

Its preferred output is 00 11 22 33, but log facades may also produce something like [00, 11, 22, 33] (eg. while that is cheaper on defmt).

Instead of writing some variation of info!("Found bytes {:02x}", data), you can write info!("Found bytes {}", Hex(data)).

Tuple Fields§

§0: T

Trait Implementations§

§

impl<T> Display for Hex<T>
where T: AsRef<[u8]>,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<T> Format for Hex<T>
where T: AsRef<[u8]>,

Available on crate feature defmt only.
§

fn format(&self, f: Formatter<'_>)

Writes the defmt representation of self to fmt.

Auto Trait Implementations§

§

impl<T> Freeze for Hex<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for Hex<T>
where T: RefUnwindSafe,

§

impl<T> Send for Hex<T>
where T: Send,

§

impl<T> Sync for Hex<T>
where T: Sync,

§

impl<T> Unpin for Hex<T>
where T: Unpin,

§

impl<T> UnwindSafe for Hex<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

§

const WITNESS: W = W::MAKE

A constant of the type witness
§

impl<T> Identity for T
where T: ?Sized,

§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> FormatOrDebug for T
where T: Format,