Cbor

Struct Cbor 

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

A newtype around byte slices used for all of Ariel OS’s logging facades that prefers interpreting the data as CBOR.

Its preferred output is CBOR Diagnostic Notation (EDN), but showing hex is also acceptable.

Instead of writing some variation of info!("Found bytes {:cbor}", item), you can write info!("Found bytes {}", Cbor(item)).

Note that using this wrapper is not necessary when using a cboritem::CborItem as it already does something similar on its own.

Tuple Fields§

§0: T

Trait Implementations§

§

impl<T> Display for Cbor<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 Cbor<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 Cbor<T>
where T: Freeze,

§

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

§

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

§

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

§

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

§

impl<T> UnwindSafe for Cbor<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,