Skip to main content

Method2

Struct Method2 

Source
pub struct Method2<R, A0, A1>
where A0: Map, A1: Map,
{ /* private fields */ }
Expand description

§Macro Expansion

pub struct MethodN<R, A0, A1, ...>
where
    A0: Map,
    A1: Map,
    ...,
{
    f: Box<dyn for<'a0, 'a1, ...> Fn(A0::Type<'a0>, A1::Type<'a1>, ...) -> R>,
    _types: std::marker::PhantomData<(A0, A1, ...)>,
}

Trait Implementations§

Source§

impl<R, T0, T1, A0, A1> Dispatch2<R, T0, T1> for Method2<R, A0, A1>
where T0: Map, T1: Map, A0: Map, A1: Map, for<'a> A0::Type<'a>: DispatchRule<T0::Type<'a>>, for<'a> A1::Type<'a>: DispatchRule<T1::Type<'a>>,

Source§

fn try_match( &self, x0: &T0::Type<'_>, x1: &T1::Type<'_>, ) -> [Result<MatchScore, FailureScore>; 2]

Invoke DispatchRule::try_match on each argument/type pair where the type comes from the backend method. Read more
Source§

fn call(&self, x0: T0::Type<'_>, x1: T1::Type<'_>) -> R

Invoke this method with the given types, invoking DispatchRule::convert on each argument to the target types of the backend method. Read more
Source§

fn signatures(&self) -> [Signature; 2]

Return the signatures for each back-end argument type.
Source§

fn try_match_verbose<'a, 'a0, 'a1>( &self, x0: &'a T0::Type<'a0>, x1: &'a T1::Type<'a1>, ) -> [Result<MatchScore, TaggedFailureScore<'a>>; 2]
where 'a0: 'a, 'a1: 'a,

The equivalent of Self::try_match, but using the DispatchRule::try_match_verbose interface. Read more

Auto Trait Implementations§

§

impl<R, A0, A1> Freeze for Method2<R, A0, A1>

§

impl<R, A0, A1> !RefUnwindSafe for Method2<R, A0, A1>

§

impl<R, A0, A1> !Send for Method2<R, A0, A1>

§

impl<R, A0, A1> !Sync for Method2<R, A0, A1>

§

impl<R, A0, A1> Unpin for Method2<R, A0, A1>
where A0: Unpin, A1: Unpin,

§

impl<R, A0, A1> UnsafeUnpin for Method2<R, A0, A1>

§

impl<R, A0, A1> !UnwindSafe for Method2<R, A0, A1>

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> DispatchRule<T> for T

Source§

type Error = Infallible

Errors that can occur during convert.
Source§

fn try_match(_from: &T) -> Result<MatchScore, FailureScore>

Attempt to match the value From to the type represented by Self. Read more
Source§

fn convert(from: T) -> Result<T, <T as DispatchRule<T>>::Error>

Perform the actual conversion. Read more
Source§

fn description(f: &mut Formatter<'_>, from: Option<&T>) -> Result<(), Error>

Write a description of the dispatch rule and outcome to the formatter. Read more
Source§

fn try_match_verbose<'a>( from: &'a From, ) -> Result<MatchScore, TaggedFailureScore<'a>>
where Self: 'a,

The equivalent of try_match but returns a reason for a failed score. 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, 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.