pub struct HkFn<F>(/* private fields */);
Trait Implementations§
Source§impl<A1: ?Sized, A2: ?Sized, A3, Out> Callable<(&mut A1, &A2, A3)> for HkFn<fn(&mut A1, &A2, A3) -> Out>
impl<A1: ?Sized, A2: ?Sized, A3, Out> Callable<(&mut A1, &A2, A3)> for HkFn<fn(&mut A1, &A2, A3) -> Out>
Source§impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> Callable<(&mut A1, &A2, A3, &A4)> for HkFn<fn(&mut A1, &A2, A3, &A4) -> Out>
impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> Callable<(&mut A1, &A2, A3, &A4)> for HkFn<fn(&mut A1, &A2, A3, &A4) -> Out>
Source§impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> Callable<(&mut A1, &A2, A3, &mut A4)> for HkFn<fn(&mut A1, &A2, A3, &mut A4) -> Out>
impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> Callable<(&mut A1, &A2, A3, &mut A4)> for HkFn<fn(&mut A1, &A2, A3, &mut A4) -> Out>
Source§impl<A1: ?Sized, A2: ?Sized, A3, Out> CallableWithFixedArguments for HkFn<fn(&mut A1, &A2, A3) -> Out>
impl<A1: ?Sized, A2: ?Sized, A3, Out> CallableWithFixedArguments for HkFn<fn(&mut A1, &A2, A3) -> Out>
type FixedArgumentTypes = (ByMut<A1>, ByRef<A2>, Value<A3>)
fn call_with_prepended_args<'first: 'out, 'args: 'out, 'out>( &self, first: ArgumentOfType<'first, <Self::FixedArgumentTypes as ArgumentTypes>::First>, args: ArgumentsOfTypes<'args, <Self::FixedArgumentTypes as ArgumentTypes>::FirstTrimmed>, ) -> <Self as Callable<ArgumentsOfTypes<'out, Self::FixedArgumentTypes>>>::Output
fn call_with_appended_args<'last: 'out, 'args: 'out, 'out>( &self, args: ArgumentsOfTypes<'args, <Self::FixedArgumentTypes as ArgumentTypes>::LastTrimmed>, last: ArgumentOfType<'last, <Self::FixedArgumentTypes as ArgumentTypes>::Last>, ) -> <Self as Callable<ArgumentsOfTypes<'out, Self::FixedArgumentTypes>>>::Output
Source§impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> CallableWithFixedArguments for HkFn<fn(&mut A1, &A2, A3, &A4) -> Out>
impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> CallableWithFixedArguments for HkFn<fn(&mut A1, &A2, A3, &A4) -> Out>
type FixedArgumentTypes = (ByMut<A1>, ByRef<A2>, Value<A3>, ByRef<A4>)
fn call_with_prepended_args<'first: 'out, 'args: 'out, 'out>( &self, first: ArgumentOfType<'first, <Self::FixedArgumentTypes as ArgumentTypes>::First>, args: ArgumentsOfTypes<'args, <Self::FixedArgumentTypes as ArgumentTypes>::FirstTrimmed>, ) -> <Self as Callable<ArgumentsOfTypes<'out, Self::FixedArgumentTypes>>>::Output
fn call_with_appended_args<'last: 'out, 'args: 'out, 'out>( &self, args: ArgumentsOfTypes<'args, <Self::FixedArgumentTypes as ArgumentTypes>::LastTrimmed>, last: ArgumentOfType<'last, <Self::FixedArgumentTypes as ArgumentTypes>::Last>, ) -> <Self as Callable<ArgumentsOfTypes<'out, Self::FixedArgumentTypes>>>::Output
Source§impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> CallableWithFixedArguments for HkFn<fn(&mut A1, &A2, A3, &mut A4) -> Out>
impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> CallableWithFixedArguments for HkFn<fn(&mut A1, &A2, A3, &mut A4) -> Out>
type FixedArgumentTypes = (ByMut<A1>, ByRef<A2>, Value<A3>, ByMut<A4>)
fn call_with_prepended_args<'first: 'out, 'args: 'out, 'out>( &self, first: ArgumentOfType<'first, <Self::FixedArgumentTypes as ArgumentTypes>::First>, args: ArgumentsOfTypes<'args, <Self::FixedArgumentTypes as ArgumentTypes>::FirstTrimmed>, ) -> <Self as Callable<ArgumentsOfTypes<'out, Self::FixedArgumentTypes>>>::Output
fn call_with_appended_args<'last: 'out, 'args: 'out, 'out>( &self, args: ArgumentsOfTypes<'args, <Self::FixedArgumentTypes as ArgumentTypes>::LastTrimmed>, last: ArgumentOfType<'last, <Self::FixedArgumentTypes as ArgumentTypes>::Last>, ) -> <Self as Callable<ArgumentsOfTypes<'out, Self::FixedArgumentTypes>>>::Output
Source§impl<A1: ?Sized, A2: ?Sized, A3, Out> IsCallable for HkFn<fn(&mut A1, &A2, A3) -> Out>
impl<A1: ?Sized, A2: ?Sized, A3, Out> IsCallable for HkFn<fn(&mut A1, &A2, A3) -> Out>
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>>,
Source§impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for HkFn<fn(&mut A1, &A2, A3, &A4) -> Out>
impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for HkFn<fn(&mut A1, &A2, A3, &A4) -> Out>
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>>,
Source§impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for HkFn<fn(&mut A1, &A2, A3, &mut A4) -> Out>
impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> IsCallable for HkFn<fn(&mut A1, &A2, A3, &mut A4) -> Out>
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>>,
Source§impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> PartialEq for HkFn<fn(&mut A1, &A2, A3, &A4) -> Out>
impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> PartialEq for HkFn<fn(&mut A1, &A2, A3, &A4) -> Out>
Source§impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> PartialEq for HkFn<fn(&mut A1, &A2, A3, &mut A4) -> Out>
impl<A1: ?Sized, A2: ?Sized, A3, A4: ?Sized, Out> PartialEq for HkFn<fn(&mut A1, &A2, A3, &mut A4) -> Out>
impl<F: Copy> Copy for HkFn<F>
Auto Trait Implementations§
impl<F> Freeze for HkFn<F>where
F: Freeze,
impl<F> RefUnwindSafe for HkFn<F>where
F: RefUnwindSafe,
impl<F> Send for HkFn<F>where
F: Send,
impl<F> Sync for HkFn<F>where
F: Sync,
impl<F> Unpin for HkFn<F>where
F: Unpin,
impl<F> UnwindSafe for HkFn<F>where
F: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more