Skip to main content

IsCallable

Trait IsCallable 

Source
pub trait IsCallable {
    // Provided methods
    fn accept_anything(self) -> AcceptAnything<Self>
       where Self: Sized + Callable<()> { ... }
    fn provide_last_argument<A: ProvideArgument<ProvideArgumentType = <Self::FixedArgumentTypes as ArgumentTypes>::Last>>(
        self,
        last_argument: A,
    ) -> LastArgumentProvided<Self, A>
       where Self: Sized + CallableWithFixedArguments { ... }
    fn provide_first_argument<A: ProvideArgument<ProvideArgumentType = <Self::FixedArgumentTypes as ArgumentTypes>::First>>(
        self,
        first_argument: A,
    ) -> FirstArgumentProvided<Self, A>
       where Self: Sized + CallableWithFixedArguments { ... }
    fn provide_last_argument_refed<T>(
        self,
        last_argument: T,
    ) -> LastArgumentProvided<Self, Refed<T>>
       where Self: Sized + CallableWithFixedArguments,
             Self::FixedArgumentTypes: ArgumentTypes<Last = ByRef<T>> { ... }
    fn provide_first_argument_refed<T>(
        self,
        first_argument: T,
    ) -> FirstArgumentProvided<Self, Refed<T>>
       where Self: Sized + CallableWithFixedArguments,
             Self::FixedArgumentTypes: ArgumentTypes<First = ByRef<T>> { ... }
    fn provide_first_argument_copied<T: Copy>(
        self,
        first_argument: T,
    ) -> FirstArgumentProvided<Self, Copied<T>>
       where Self: Sized + CallableWithFixedArguments,
             Self::FixedArgumentTypes: ArgumentTypes<First = Value<T>> { ... }
    fn provide_last_argument_copied<T: Copy>(
        self,
        last_argument: T,
    ) -> LastArgumentProvided<Self, Copied<T>>
       where Self: Sized + CallableWithFixedArguments,
             Self::FixedArgumentTypes: ArgumentTypes<Last = Value<T>> { ... }
    fn provide_last_argument_cloned<T: Clone>(
        self,
        last_argument: T,
    ) -> LastArgumentProvided<Self, Cloned<T>>
       where Self: Sized + CallableWithFixedArguments,
             Self::FixedArgumentTypes: ArgumentTypes<Last = Value<T>> { ... }
    fn provide_first_argument_cloned<T: Clone>(
        self,
        first_argument: T,
    ) -> FirstArgumentProvided<Self, Cloned<T>>
       where Self: Sized + CallableWithFixedArguments,
             Self::FixedArgumentTypes: ArgumentTypes<First = Value<T>> { ... }
    fn provide_first_argument_with<F: Callable<()>>(
        self,
        get_first_argument: F,
    ) -> FirstArgumentProvided<Self, With<F>>
       where Self: Sized + CallableWithFixedArguments,
             Self::FixedArgumentTypes: ArgumentTypes<First = Value<<F as Callable<()>>::Output>> { ... }
    fn provide_last_argument_with<F: Callable<()>>(
        self,
        get_first_argument: F,
    ) -> LastArgumentProvided<Self, With<F>>
       where Self: Sized + CallableWithFixedArguments,
             Self::FixedArgumentTypes: ArgumentTypes<Last = Value<<F as Callable<()>>::Output>> { ... }
}

Provided Methods§

Source

fn accept_anything(self) -> AcceptAnything<Self>
where Self: Sized + Callable<()>,

Source

fn provide_last_argument<A: ProvideArgument<ProvideArgumentType = <Self::FixedArgumentTypes as ArgumentTypes>::Last>>( self, last_argument: A, ) -> LastArgumentProvided<Self, A>

Source

fn provide_first_argument<A: ProvideArgument<ProvideArgumentType = <Self::FixedArgumentTypes as ArgumentTypes>::First>>( self, first_argument: A, ) -> FirstArgumentProvided<Self, A>

Source

fn provide_last_argument_refed<T>( self, last_argument: T, ) -> LastArgumentProvided<Self, Refed<T>>

Source

fn provide_first_argument_refed<T>( self, first_argument: T, ) -> FirstArgumentProvided<Self, Refed<T>>

Source

fn provide_first_argument_copied<T: Copy>( self, first_argument: T, ) -> FirstArgumentProvided<Self, Copied<T>>

Source

fn provide_last_argument_copied<T: Copy>( self, last_argument: T, ) -> LastArgumentProvided<Self, Copied<T>>

Source

fn provide_last_argument_cloned<T: Clone>( self, last_argument: T, ) -> LastArgumentProvided<Self, Cloned<T>>

Source

fn provide_first_argument_cloned<T: Clone>( self, first_argument: T, ) -> FirstArgumentProvided<Self, Cloned<T>>

Source

fn provide_first_argument_with<F: Callable<()>>( self, get_first_argument: F, ) -> FirstArgumentProvided<Self, With<F>>

Source

fn provide_last_argument_with<F: Callable<()>>( self, get_first_argument: F, ) -> LastArgumentProvided<Self, With<F>>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<A1, A2, A3, A4, Out> IsCallable for fn(A1, A2, A3, A4) -> Out

Source§

impl<A1, A2, A3, Out> IsCallable for fn(A1, A2, A3) -> Out

Source§

impl<A1, A2, Out> IsCallable for fn(A1, A2) -> Out

Source§

impl<A1, Out> IsCallable for fn(A1) -> Out

Source§

impl<Out> IsCallable for fn() -> Out

Implementors§

Source§

impl IsCallable for NeverCalled

Source§

impl<A1, A2, A3, A4: ?Sized, Out> IsCallable for callable::value::value::value::HkFn<fn(A1, A2, A3, &A4) -> Out>

Source§

impl<A1, A2, A3, A4: ?Sized, Out> IsCallable for callable::value::value::value::HkFn<fn(A1, A2, A3, &mut A4) -> Out>

Source§

impl<A1, A2, A3: ?Sized, A4, Out> IsCallable for callable::value::value::ref::value::HkFn<fn(A1, A2, &A3, A4) -> Out>

Source§

impl<A1, A2, A3: ?Sized, A4, Out> IsCallable for callable::value::value::mut::value::HkFn<fn(A1, A2, &mut A3, A4) -> Out>

Source§

impl<A1, A2, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::value::value::HkFn<fn(A1, A2, &A3, &A4) -> Out>

Source§

impl<A1, A2, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::value::value::HkFn<fn(A1, A2, &A3, &mut A4) -> Out>

Source§

impl<A1, A2, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::value::value::HkFn<fn(A1, A2, &mut A3, &A4) -> Out>

Source§

impl<A1, A2, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::value::value::HkFn<fn(A1, A2, &mut A3, &mut A4) -> Out>

Source§

impl<A1, A2, A3: ?Sized, Out> IsCallable for callable::value::value::HkFn<fn(A1, A2, &A3) -> Out>

Source§

impl<A1, A2, A3: ?Sized, Out> IsCallable for callable::value::value::HkFn<fn(A1, A2, &mut A3) -> Out>

Source§

impl<A1, A2: ?Sized, A3, A4, Out> IsCallable for callable::value::ref::value::value::HkFn<fn(A1, &A2, A3, A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3, A4, Out> IsCallable for callable::value::mut::value::value::HkFn<fn(A1, &mut A2, A3, A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for callable::value::ref::value::HkFn<fn(A1, &A2, A3, &A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for callable::value::ref::value::HkFn<fn(A1, &A2, A3, &mut A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for callable::value::mut::value::HkFn<fn(A1, &mut A2, A3, &A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for callable::value::mut::value::HkFn<fn(A1, &mut A2, A3, &mut A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3, Out> IsCallable for callable::value::ref::value::HkFn<fn(A1, &A2, A3) -> Out>

Source§

impl<A1, A2: ?Sized, A3, Out> IsCallable for callable::value::mut::value::HkFn<fn(A1, &mut A2, A3) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, A4, Out> IsCallable for callable::value::ref::ref::value::HkFn<fn(A1, &A2, &A3, A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, A4, Out> IsCallable for callable::value::ref::mut::value::HkFn<fn(A1, &A2, &mut A3, A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, A4, Out> IsCallable for callable::value::mut::ref::value::HkFn<fn(A1, &mut A2, &A3, A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, A4, Out> IsCallable for callable::value::mut::mut::value::HkFn<fn(A1, &mut A2, &mut A3, A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::value::HkFn<fn(A1, &A2, &A3, &A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::value::HkFn<fn(A1, &A2, &A3, &mut A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::value::HkFn<fn(A1, &A2, &mut A3, &A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::value::HkFn<fn(A1, &A2, &mut A3, &mut A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::value::HkFn<fn(A1, &mut A2, &A3, &A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::value::HkFn<fn(A1, &mut A2, &A3, &mut A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::value::HkFn<fn(A1, &mut A2, &mut A3, &A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::value::HkFn<fn(A1, &mut A2, &mut A3, &mut A4) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, Out> IsCallable for callable::value::HkFn<fn(A1, &A2, &A3) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, Out> IsCallable for callable::value::HkFn<fn(A1, &A2, &mut A3) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, Out> IsCallable for callable::value::HkFn<fn(A1, &mut A2, &A3) -> Out>

Source§

impl<A1, A2: ?Sized, A3: ?Sized, Out> IsCallable for callable::value::HkFn<fn(A1, &mut A2, &mut A3) -> Out>

Source§

impl<A1, A2: ?Sized, Out> IsCallable for callable::value::HkFn<fn(A1, &A2) -> Out>

Source§

impl<A1, A2: ?Sized, Out> IsCallable for callable::value::HkFn<fn(A1, &mut A2) -> Out>

Source§

impl<A1: ?Sized, A2, A3, A4, Out> IsCallable for callable::ref::value::value::value::HkFn<fn(&A1, A2, A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3, A4, Out> IsCallable for callable::mut::value::value::value::HkFn<fn(&mut A1, A2, A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3, A4: ?Sized, Out> IsCallable for callable::ref::value::value::HkFn<fn(&A1, A2, A3, &A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3, A4: ?Sized, Out> IsCallable for callable::ref::value::value::HkFn<fn(&A1, A2, A3, &mut A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3, A4: ?Sized, Out> IsCallable for callable::mut::value::value::HkFn<fn(&mut A1, A2, A3, &A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3, A4: ?Sized, Out> IsCallable for callable::mut::value::value::HkFn<fn(&mut A1, A2, A3, &mut A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3, Out> IsCallable for callable::ref::value::value::HkFn<fn(&A1, A2, A3) -> Out>

Source§

impl<A1: ?Sized, A2, A3, Out> IsCallable for callable::mut::value::value::HkFn<fn(&mut A1, A2, A3) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, A4, Out> IsCallable for callable::ref::value::ref::value::HkFn<fn(&A1, A2, &A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, A4, Out> IsCallable for callable::ref::value::mut::value::HkFn<fn(&A1, A2, &mut A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, A4, Out> IsCallable for callable::mut::value::ref::value::HkFn<fn(&mut A1, A2, &A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, A4, Out> IsCallable for callable::mut::value::mut::value::HkFn<fn(&mut A1, A2, &mut A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::ref::value::HkFn<fn(&A1, A2, &A3, &A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::ref::value::HkFn<fn(&A1, A2, &A3, &mut A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::ref::value::HkFn<fn(&A1, A2, &mut A3, &A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::ref::value::HkFn<fn(&A1, A2, &mut A3, &mut A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::mut::value::HkFn<fn(&mut A1, A2, &A3, &A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::mut::value::HkFn<fn(&mut A1, A2, &A3, &mut A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::mut::value::HkFn<fn(&mut A1, A2, &mut A3, &A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, A4: ?Sized, Out> IsCallable for callable::mut::value::HkFn<fn(&mut A1, A2, &mut A3, &mut A4) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, Out> IsCallable for callable::ref::value::HkFn<fn(&A1, A2, &A3) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, Out> IsCallable for callable::ref::value::HkFn<fn(&A1, A2, &mut A3) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, Out> IsCallable for callable::mut::value::HkFn<fn(&mut A1, A2, &A3) -> Out>

Source§

impl<A1: ?Sized, A2, A3: ?Sized, Out> IsCallable for callable::mut::value::HkFn<fn(&mut A1, A2, &mut A3) -> Out>

Source§

impl<A1: ?Sized, A2, Out> IsCallable for callable::ref::value::HkFn<fn(&A1, A2) -> Out>

Source§

impl<A1: ?Sized, A2, Out> IsCallable for callable::mut::value::HkFn<fn(&mut A1, A2) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, A4, Out> IsCallable for callable::ref::ref::value::value::HkFn<fn(&A1, &A2, A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, A4, Out> IsCallable for callable::ref::mut::value::value::HkFn<fn(&A1, &mut A2, A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, A4, Out> IsCallable for callable::mut::ref::value::value::HkFn<fn(&mut A1, &A2, A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, A4, Out> IsCallable for callable::mut::mut::value::value::HkFn<fn(&mut A1, &mut A2, A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for callable::ref::ref::value::HkFn<fn(&A1, &A2, A3, &A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for callable::ref::ref::value::HkFn<fn(&A1, &A2, A3, &mut A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for callable::ref::mut::value::HkFn<fn(&A1, &mut A2, A3, &A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for callable::ref::mut::value::HkFn<fn(&A1, &mut A2, A3, &mut A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for callable::mut::ref::value::HkFn<fn(&mut A1, &A2, A3, &A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for callable::mut::ref::value::HkFn<fn(&mut A1, &A2, A3, &mut A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for callable::mut::mut::value::HkFn<fn(&mut A1, &mut A2, A3, &A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for callable::mut::mut::value::HkFn<fn(&mut A1, &mut A2, A3, &mut A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, Out> IsCallable for callable::ref::ref::value::HkFn<fn(&A1, &A2, A3) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, Out> IsCallable for callable::ref::mut::value::HkFn<fn(&A1, &mut A2, A3) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, Out> IsCallable for callable::mut::ref::value::HkFn<fn(&mut A1, &A2, A3) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3, Out> IsCallable for callable::mut::mut::value::HkFn<fn(&mut A1, &mut A2, A3) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3: ?Sized, A4, Out> IsCallable for callable::ref::ref::ref::value::HkFn<fn(&A1, &A2, &A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3: ?Sized, A4, Out> IsCallable for callable::ref::ref::mut::value::HkFn<fn(&A1, &A2, &mut A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3: ?Sized, A4, Out> IsCallable for callable::ref::mut::ref::value::HkFn<fn(&A1, &mut A2, &A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3: ?Sized, A4, Out> IsCallable for callable::ref::mut::mut::value::HkFn<fn(&A1, &mut A2, &mut A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3: ?Sized, A4, Out> IsCallable for callable::mut::ref::ref::value::HkFn<fn(&mut A1, &A2, &A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3: ?Sized, A4, Out> IsCallable for callable::mut::ref::mut::value::HkFn<fn(&mut A1, &A2, &mut A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3: ?Sized, A4, Out> IsCallable for callable::mut::mut::ref::value::HkFn<fn(&mut A1, &mut A2, &A3, A4) -> Out>

Source§

impl<A1: ?Sized, A2: ?Sized, A3: ?Sized, A4, Out> IsCallable for callable::mut::mut::mut::value::HkFn<fn(&mut A1, &mut A2, &mut A3, A4) -> Out>

Source§

impl<Cbk: Callable<()>> IsCallable for AcceptAnything<Cbk>

Source§

impl<F1, F2> IsCallable for Chain<F1, F2>

Source§

impl<F: CallableWithFixedArguments, A: ProvideArgument<ProvideArgumentType = <F::FixedArgumentTypes as ArgumentTypes>::First>> IsCallable for FirstArgumentProvided<F, A>

Source§

impl<F: CallableWithFixedArguments, A: ProvideArgument<ProvideArgumentType = <F::FixedArgumentTypes as ArgumentTypes>::Last>> IsCallable for LastArgumentProvided<F, A>