Struct DispatchFormat

Source
pub struct DispatchFormat<PosFmt, NegFmt> { /* private fields */ }
Expand description

A formatter which dispatches to different formatters depending on whether the matcher is negated or not.

This type is a MatcherFormat that wraps two existing formatters, one for the positive case (we expected the matcher to match) and one for the negative case (we expected the matcher to fail). It dispatches to one of those formatters depending on whether the matcher is negated or not.

Implementations§

Source§

impl<PosFmt, NegFmt> DispatchFormat<PosFmt, NegFmt>

Source

pub fn new(pos_fmt: PosFmt, neg_fmt: NegFmt) -> Self

Create a new DispatchFormat from two existing formatters.

This accepts a formatter for the positive case and the negative case respectively.

Trait Implementations§

Source§

impl<PosFmt: Debug, NegFmt: Debug> Debug for DispatchFormat<PosFmt, NegFmt>

Source§

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

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

impl<PosFmt, NegFmt, PosFail, NegFail> Format for DispatchFormat<PosFmt, NegFmt>
where PosFmt: Format<Value = MatchFailure<PosFail>>, NegFmt: Format<Value = MatchFailure<NegFail>>,

Source§

type Value = MatchFailure<PosFail, NegFail>

The value to format.
Source§

fn fmt(&self, f: &mut Formatter, value: Self::Value) -> Result<()>

Format the value.

Auto Trait Implementations§

§

impl<PosFmt, NegFmt> Freeze for DispatchFormat<PosFmt, NegFmt>
where PosFmt: Freeze, NegFmt: Freeze,

§

impl<PosFmt, NegFmt> RefUnwindSafe for DispatchFormat<PosFmt, NegFmt>
where PosFmt: RefUnwindSafe, NegFmt: RefUnwindSafe,

§

impl<PosFmt, NegFmt> Send for DispatchFormat<PosFmt, NegFmt>
where PosFmt: Send, NegFmt: Send,

§

impl<PosFmt, NegFmt> Sync for DispatchFormat<PosFmt, NegFmt>
where PosFmt: Sync, NegFmt: Sync,

§

impl<PosFmt, NegFmt> Unpin for DispatchFormat<PosFmt, NegFmt>
where PosFmt: Unpin, NegFmt: Unpin,

§

impl<PosFmt, NegFmt> UnwindSafe for DispatchFormat<PosFmt, NegFmt>
where PosFmt: UnwindSafe, NegFmt: 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, 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, Pos, Neg> MatcherFormat for T
where T: Format<Value = MatchFailure<Pos, Neg>>,

Source§

type Pos = Pos

The match result in the positive case (when we were expecting the matcher to succeed).
Source§

type Neg = Neg

The match result in the negative case (when we were expecting the matcher to fail).
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.