pub trait Executable<'vm, Extra> {
    type Expr;

    // Required methods
    fn run_expr<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait, T>(
        self,
        compiler: &'life0 mut ModuleCompiler<'life1, 'life2>,
        vm: T,
        name: &'life3 str,
        expr_str: &'life4 str,
        arg: Extra
    ) -> Pin<Box<dyn Future<Output = Result<ExecuteValue<RootedThread, Self::Expr>>> + Send + 'async_trait>>
       where T: Send + Sync + VmRoot<'vm> + 'async_trait,
             Extra: 'async_trait,
             Self: 'async_trait,
             'vm: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait,
             'life4: 'async_trait;
    fn load_script<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait, T>(
        self,
        compiler: &'life0 mut ModuleCompiler<'life1, 'life2>,
        vm: T,
        filename: &'life3 str,
        expr_str: &'life4 str,
        arg: Extra
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where T: Send + Sync + VmRoot<'vm> + 'async_trait,
             Extra: 'async_trait,
             Self: 'async_trait,
             'vm: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait,
             'life4: 'async_trait;
}

Required Associated Types§

Required Methods§

source

fn run_expr<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait, T>( self, compiler: &'life0 mut ModuleCompiler<'life1, 'life2>, vm: T, name: &'life3 str, expr_str: &'life4 str, arg: Extra ) -> Pin<Box<dyn Future<Output = Result<ExecuteValue<RootedThread, Self::Expr>>> + Send + 'async_trait>>
where T: Send + Sync + VmRoot<'vm> + 'async_trait, Extra: 'async_trait, Self: 'async_trait, 'vm: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait,

source

fn load_script<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait, T>( self, compiler: &'life0 mut ModuleCompiler<'life1, 'life2>, vm: T, filename: &'life3 str, expr_str: &'life4 str, arg: Extra ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where T: Send + Sync + VmRoot<'vm> + 'async_trait, Extra: 'async_trait, Self: 'async_trait, 'vm: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'vm, C, Extra> Executable<'vm, Extra> for C
where C: Compileable<Extra> + Send, C::Expr: Send + 'vm, Extra: Send,

§

type Expr = <C as Compileable<Extra>>::Expr

source§

impl<'vm, D> Executable<'vm, ()> for Precompiled<D>
where D: Deserializer<'vm> + Send,

§

type Expr = ()

source§

impl<'vm, E> Executable<'vm, ()> for CompileValue<E>
where E: Send + 'vm,

§

type Expr = E