pub trait BackendContextBuilder: Clone + Send + Sync {
    type Context: Send + Sync;

    // Required method
    fn build<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Context>> + Send + 'async_trait>>
       where Self: 'async_trait;
}

Required Associated Types§

Required Methods§

source

fn build<'async_trait>( self ) -> Pin<Box<dyn Future<Output = Result<Self::Context>> + Send + 'async_trait>>
where Self: 'async_trait,

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl BackendContextBuilder for ()

§

type Context = ()

source§

fn build<'async_trait>( self ) -> Pin<Box<dyn Future<Output = Result<Self::Context>> + Send + 'async_trait>>
where Self: 'async_trait,

source§

impl<T: BackendContextBuilder, U: BackendContextBuilder> BackendContextBuilder for (T, U)

§

type Context = (<T as BackendContextBuilder>::Context, <U as BackendContextBuilder>::Context)

source§

fn build<'async_trait>( self ) -> Pin<Box<dyn Future<Output = Result<Self::Context>> + Send + 'async_trait>>
where Self: 'async_trait,

source§

impl<T: BackendContextBuilder, U: BackendContextBuilder, V: BackendContextBuilder> BackendContextBuilder for (T, U, V)

§

type Context = (<T as BackendContextBuilder>::Context, <U as BackendContextBuilder>::Context, <V as BackendContextBuilder>::Context)

source§

fn build<'async_trait>( self ) -> Pin<Box<dyn Future<Output = Result<Self::Context>> + Send + 'async_trait>>
where Self: 'async_trait,

Implementors§