pub struct CombinatorContext<T> { /* private fields */ }
Expand description

A type used with CombinatorMatcher to borrow, clone, or copy the owned value.

Implementations§

source§

impl<T> CombinatorContext<T>

source

pub fn borrow<Borrowed: ?Sized>( &mut self ) -> CombinatorAssertion<'_, '_, T, &Borrowed>where T: Borrow<Borrowed>,

Borrow the owned value before making assertions on it.

source

pub fn map<'a, 'b: 'a, In>( &'b mut self, func: impl Fn(&'a T) -> In + 'b ) -> CombinatorAssertion<'a, 'b, T, In>

Map the owned value before making assertions on it.

This is useful if borrowing, cloning, or copying alone aren’t flexible enough. One case where this may be useful is calling methods like Option::as_deref.

source§

impl<T> CombinatorContext<T>where T: Copy,

source

pub fn copied(&mut self) -> CombinatorAssertion<'_, '_, T, T>

Copy the owned value before making assertions on it.

source§

impl<T> CombinatorContext<T>where T: Clone,

source

pub fn cloned(&mut self) -> CombinatorAssertion<'_, '_, T, T>

Clone the owned value before making assertions on it.

Trait Implementations§

source§

impl<T: Debug> Debug for CombinatorContext<T>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

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

§

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

§

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

§

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

§

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

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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, U> TryFrom<U> for Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.