Skip to main content

LuaNativeFn

Trait LuaNativeFn 

Source
pub trait LuaNativeFn<A: FromLuaMulti> {
    type Output;

    // Required method
    fn call(&self, args: A) -> Self::Output;
}
Expand description

A function/closure callable with a tuple of FromLuaMulti arguments, abstracting over arity. Mirrors mlua::LuaNativeFn. Lets Function::wrap accept ||, |a|, |a, b|, … closures uniformly (the closure receives the converted args directly, not the Lua).

Required Associated Types§

Source

type Output

The closure’s return type (typically Result<R, E>).

Required Methods§

Source

fn call(&self, args: A) -> Self::Output

Invoke the closure with the converted arguments.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl<FN, A, B, C, D, E, F, G, H, R> LuaNativeFn<(A, B, C, D, E, F, G, H)> for FN
where FN: Fn(A, B, C, D, E, F, G, H) -> R, (A, B, C, D, E, F, G, H): FromLuaMulti,

Source§

impl<FN, A, B, C, D, E, F, G, R> LuaNativeFn<(A, B, C, D, E, F, G)> for FN
where FN: Fn(A, B, C, D, E, F, G) -> R, (A, B, C, D, E, F, G): FromLuaMulti,

Source§

impl<FN, A, B, C, D, E, F, R> LuaNativeFn<(A, B, C, D, E, F)> for FN
where FN: Fn(A, B, C, D, E, F) -> R, (A, B, C, D, E, F): FromLuaMulti,

Source§

impl<FN, A, B, C, D, E, R> LuaNativeFn<(A, B, C, D, E)> for FN
where FN: Fn(A, B, C, D, E) -> R, (A, B, C, D, E): FromLuaMulti,

Source§

impl<FN, A, B, C, D, R> LuaNativeFn<(A, B, C, D)> for FN
where FN: Fn(A, B, C, D) -> R, (A, B, C, D): FromLuaMulti,

Source§

impl<FN, A, B, C, R> LuaNativeFn<(A, B, C)> for FN
where FN: Fn(A, B, C) -> R, (A, B, C): FromLuaMulti,

Source§

impl<FN, A, B, R> LuaNativeFn<(A, B)> for FN
where FN: Fn(A, B) -> R, (A, B): FromLuaMulti,

Source§

impl<FN, A, R> LuaNativeFn<(A,)> for FN
where FN: Fn(A) -> R, (A,): FromLuaMulti,

Source§

impl<FN, R> LuaNativeFn<()> for FN
where FN: Fn() -> R, (): FromLuaMulti,