CaveatDeferred

Struct CaveatDeferred 

Source
pub struct CaveatDeferred<T, K: Kind> { /* private fields */ }
Expand description

A value that may have associated warning Kinds.

This caveat is considered deferred as the warning kinds still need to be associated with a json::Element to become Warnings.

Even though the value has been created there may be certain caveats you should be aware of before using it.

NOTE: The deferred types are used to avoid passing json::Element references to functions just to create Warnings.

Implementations§

Source§

impl<T, K> CaveatDeferred<T, K>
where K: Kind,

Source

pub fn into_parts(self) -> (T, SetDeferred<K>)

Return the value and any warning Kinds stored in the CaveatDeferred.

Source

pub fn ignore_warnings(self) -> T

Return the value and drop any warnings contained within.

Source

pub fn map<U, F: FnOnce(T) -> U>(self, op: F) -> CaveatDeferred<U, K>

Map the value to another target type while retaining the warnings about the source type.

Trait Implementations§

Source§

impl<T: Debug, K: Debug + Kind> Debug for CaveatDeferred<T, K>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<T, K> Deref for CaveatDeferred<T, K>
where K: Kind,

A deferred Caveat is simply a value with associated warning Kinds that still need to be associated with a json::Element to become Warnings.

Providing an impl Deref makes sense for given that it’s an annotated value.

The same advice applies to both deref traits. In general, deref traits should be implemented if:

  1. a value of the type transparently behaves like a value of the target type;
  2. the implementation of the deref function is cheap; and
  3. users of the type will not be surprised by any deref coercion behavior.

See: https://doc.rust-lang.org/std/ops/trait.Deref.html#when-to-implement-deref-or-derefmut

Source§

type Target = T

The resulting type after dereferencing.
Source§

fn deref(&self) -> &T

Dereferences the value.

Auto Trait Implementations§

§

impl<T, K> Freeze for CaveatDeferred<T, K>
where T: Freeze,

§

impl<T, K> RefUnwindSafe for CaveatDeferred<T, K>

§

impl<T, K> Send for CaveatDeferred<T, K>
where T: Send, K: Send,

§

impl<T, K> Sync for CaveatDeferred<T, K>
where T: Sync, K: Sync,

§

impl<T, K> Unpin for CaveatDeferred<T, K>
where T: Unpin, K: Unpin,

§

impl<T, K> UnwindSafe for CaveatDeferred<T, K>
where T: UnwindSafe, K: 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.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more