Skip to main content

Call

Trait Call 

Source
pub trait Call<C, Args>:
    Clone
    + Send
    + Sync
    + 'static {
    type Outcome: Outcome + 'static;

    // Required method
    fn call(
        &self,
        context: &mut C,
    ) -> impl Future<Output = Result<Self::Outcome>> + Send;
}

Required Associated Types§

Source

type Outcome: Outcome + 'static

Required Methods§

Source

fn call( &self, context: &mut C, ) -> impl Future<Output = Result<Self::Outcome>> + Send

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§

Source§

impl<C, F, Fut, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Call<C, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for F
where C: Send, F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<O>> + Send, O: Outcome + 'static, T1: Resolve<C> + Send, T2: Resolve<C> + Send, T3: Resolve<C> + Send, T4: Resolve<C> + Send, T5: Resolve<C> + Send, T6: Resolve<C> + Send, T7: Resolve<C> + Send, T8: Resolve<C> + Send, T9: Resolve<C> + Send, T10: Resolve<C> + Send, T11: Resolve<C> + Send, T12: Resolve<C> + Send,

Source§

impl<C, F, Fut, O, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Call<C, (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for F
where C: Send, F: Fn(T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<O>> + Send, O: Outcome + 'static, T2: Resolve<C> + Send, T3: Resolve<C> + Send, T4: Resolve<C> + Send, T5: Resolve<C> + Send, T6: Resolve<C> + Send, T7: Resolve<C> + Send, T8: Resolve<C> + Send, T9: Resolve<C> + Send, T10: Resolve<C> + Send, T11: Resolve<C> + Send, T12: Resolve<C> + Send,

Source§

impl<C, F, Fut, O, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Call<C, (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for F
where C: Send, F: Fn(T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<O>> + Send, O: Outcome + 'static, T3: Resolve<C> + Send, T4: Resolve<C> + Send, T5: Resolve<C> + Send, T6: Resolve<C> + Send, T7: Resolve<C> + Send, T8: Resolve<C> + Send, T9: Resolve<C> + Send, T10: Resolve<C> + Send, T11: Resolve<C> + Send, T12: Resolve<C> + Send,

Source§

impl<C, F, Fut, O, T4, T5, T6, T7, T8, T9, T10, T11, T12> Call<C, (T4, T5, T6, T7, T8, T9, T10, T11, T12)> for F
where C: Send, F: Fn(T4, T5, T6, T7, T8, T9, T10, T11, T12) -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<O>> + Send, O: Outcome + 'static, T4: Resolve<C> + Send, T5: Resolve<C> + Send, T6: Resolve<C> + Send, T7: Resolve<C> + Send, T8: Resolve<C> + Send, T9: Resolve<C> + Send, T10: Resolve<C> + Send, T11: Resolve<C> + Send, T12: Resolve<C> + Send,

Source§

impl<C, F, Fut, O, T5, T6, T7, T8, T9, T10, T11, T12> Call<C, (T5, T6, T7, T8, T9, T10, T11, T12)> for F
where C: Send, F: Fn(T5, T6, T7, T8, T9, T10, T11, T12) -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<O>> + Send, O: Outcome + 'static, T5: Resolve<C> + Send, T6: Resolve<C> + Send, T7: Resolve<C> + Send, T8: Resolve<C> + Send, T9: Resolve<C> + Send, T10: Resolve<C> + Send, T11: Resolve<C> + Send, T12: Resolve<C> + Send,

Source§

impl<C, F, Fut, O, T6, T7, T8, T9, T10, T11, T12> Call<C, (T6, T7, T8, T9, T10, T11, T12)> for F
where C: Send, F: Fn(T6, T7, T8, T9, T10, T11, T12) -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<O>> + Send, O: Outcome + 'static, T6: Resolve<C> + Send, T7: Resolve<C> + Send, T8: Resolve<C> + Send, T9: Resolve<C> + Send, T10: Resolve<C> + Send, T11: Resolve<C> + Send, T12: Resolve<C> + Send,

Source§

impl<C, F, Fut, O, T7, T8, T9, T10, T11, T12> Call<C, (T7, T8, T9, T10, T11, T12)> for F
where C: Send, F: Fn(T7, T8, T9, T10, T11, T12) -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<O>> + Send, O: Outcome + 'static, T7: Resolve<C> + Send, T8: Resolve<C> + Send, T9: Resolve<C> + Send, T10: Resolve<C> + Send, T11: Resolve<C> + Send, T12: Resolve<C> + Send,

Source§

impl<C, F, Fut, O, T8, T9, T10, T11, T12> Call<C, (T8, T9, T10, T11, T12)> for F
where C: Send, F: Fn(T8, T9, T10, T11, T12) -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<O>> + Send, O: Outcome + 'static, T8: Resolve<C> + Send, T9: Resolve<C> + Send, T10: Resolve<C> + Send, T11: Resolve<C> + Send, T12: Resolve<C> + Send,

Source§

impl<C, F, Fut, O, T9, T10, T11, T12> Call<C, (T9, T10, T11, T12)> for F
where C: Send, F: Fn(T9, T10, T11, T12) -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<O>> + Send, O: Outcome + 'static, T9: Resolve<C> + Send, T10: Resolve<C> + Send, T11: Resolve<C> + Send, T12: Resolve<C> + Send,

Source§

impl<C, F, Fut, O, T10, T11, T12> Call<C, (T10, T11, T12)> for F
where C: Send, F: Fn(T10, T11, T12) -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<O>> + Send, O: Outcome + 'static, T10: Resolve<C> + Send, T11: Resolve<C> + Send, T12: Resolve<C> + Send,

Source§

impl<C, F, Fut, O, T11, T12> Call<C, (T11, T12)> for F
where C: Send, F: Fn(T11, T12) -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<O>> + Send, O: Outcome + 'static, T11: Resolve<C> + Send, T12: Resolve<C> + Send,

Source§

impl<C, F, Fut, O, T12> Call<C, (T12,)> for F
where C: Send, F: Fn(T12) -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<O>> + Send, O: Outcome + 'static, T12: Resolve<C> + Send,

Source§

impl<C, F, Fut, O> Call<C, ()> for F
where C: Send, F: Fn() -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<O>> + Send, O: Outcome + 'static,