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§
fn accept_anything(self) -> AcceptAnything<Self>
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>>,
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".