Skip to main content

Op

Trait Op 

Source
pub trait Op<S: Plan, Q>: Sized {
    type Output;

    // Required method
    fn run<'scope, 'life, 'p, 'd>(
        self,
        scope: Scope<'scope, 'life, 'p, 'd, S, Q>,
    ) -> Self::Output
       where Self: 'd,
             S: 'd,
             Q: 'd,
             'd: 'p + 'life,
             'p: 'life,
             'life: 'scope;
}
Expand description

Runs once inside an executor generation with its exact storage family.

Required Associated Types§

Required Methods§

Source

fn run<'scope, 'life, 'p, 'd>( self, scope: Scope<'scope, 'life, 'p, 'd, S, Q>, ) -> Self::Output
where Self: 'd, S: 'd, Q: 'd, 'd: 'p + 'life, 'p: 'life, 'life: 'scope,

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementations on Foreign Types§

Source§

impl<S, I, Q, O, R> Op<S, Q> for (I, O)
where S: Plan, O: for<'scope, 'life, 'p, 'd> Operation<'d, Worker<'scope, 'life, 'p, 'd, S, I, Q>, Output = R>,

Source§

type Output = R

Source§

fn run<'scope, 'life, 'p, 'd>( self, session: Scope<'scope, 'life, 'p, 'd, S, Q>, ) -> Self::Output
where Self: 'd, S: 'd, Q: 'd, 'd: 'p + 'life, 'p: 'life, 'life: 'scope,

Implementors§

Source§

impl<S, Q, F, R> Op<S, Q> for Scoped<F>
where S: Plan, F: for<'scope, 'life, 'p, 'd> FnOnce(Scope<'scope, 'life, 'p, 'd, S, Q>) -> R,