[][src]Trait rlua_async::ScopeExt

pub trait ScopeExt<'lua, 'scope> {
    fn create_async_function<Arg, Ret, RetFut, F>(
        &self,
        ctx: Context<'lua>,
        func: F
    ) -> Result<Function<'lua>>
    where
        Arg: 'scope + for<'all> FromLuaMulti<'all>,
        Ret: 'scope + for<'all> ToLuaMulti<'all>,
        RetFut: 'scope + Future<Output = Result<Ret>>,
        F: 'scope + for<'all> Fn(Context<'all>, Arg) -> RetFut
;
fn create_async_function_mut<Arg, Ret, RetFut, F>(
        &self,
        ctx: Context<'lua>,
        func: F
    ) -> Result<Function<'lua>>
    where
        Arg: 'scope + for<'all> FromLuaMulti<'all>,
        Ret: 'scope + for<'all> ToLuaMulti<'all>,
        RetFut: 'scope + Future<Output = Result<Ret>>,
        F: 'scope + for<'all> FnMut(Context<'all>, Arg) -> RetFut
; }

Extension trait for rlua::Scope

Required methods

fn create_async_function<Arg, Ret, RetFut, F>(
    &self,
    ctx: Context<'lua>,
    func: F
) -> Result<Function<'lua>> where
    Arg: 'scope + for<'all> FromLuaMulti<'all>,
    Ret: 'scope + for<'all> ToLuaMulti<'all>,
    RetFut: 'scope + Future<Output = Result<Ret>>,
    F: 'scope + for<'all> Fn(Context<'all>, Arg) -> RetFut, 

Wraps a Rust function or closure, creating a callable Lua function handle to it. See also rlua::Scope::create_function and ContextExt::create_async_function.

The where clause stipulates a few additional constraints compared to rlua::Scope::create_function. This is required for compiling the implementation, and should not be an issue. If it is, please report a bug to rlua-async with instructions on how to reproduce and your use case.

fn create_async_function_mut<Arg, Ret, RetFut, F>(
    &self,
    ctx: Context<'lua>,
    func: F
) -> Result<Function<'lua>> where
    Arg: 'scope + for<'all> FromLuaMulti<'all>,
    Ret: 'scope + for<'all> ToLuaMulti<'all>,
    RetFut: 'scope + Future<Output = Result<Ret>>,
    F: 'scope + for<'all> FnMut(Context<'all>, Arg) -> RetFut, 

Wraps a mutable Rust function or closure, creating a callable Lua function handle to it. See [rlua_async::ScopeExt::create_async_function] for more details.

Loading content...

Implementations on Foreign Types

impl<'lua, 'scope> ScopeExt<'lua, 'scope> for Scope<'lua, 'scope>[src]

Loading content...

Implementors

Loading content...