[][src]Trait mlua::prelude::FromLuaMulti

pub trait FromLuaMulti<'lua>: Sized {
    fn from_lua_multi(values: MultiValue<'lua>, lua: &'lua Lua) -> Result<Self>;
}

Trait for types that can be created from an arbitrary number of Lua values.

This is a generalization of FromLua, allowing an arbitrary number of Lua values to participate in the conversion. Any type that implements FromLua will automatically implement this trait.

Required methods

fn from_lua_multi(values: MultiValue<'lua>, lua: &'lua Lua) -> Result<Self>

Performs the conversion.

In case values contains more values than needed to perform the conversion, the excess values should be ignored. This reflects the semantics of Lua when calling a function or assigning values. Similarly, if not enough values are given, conversions should assume that any missing values are nil.

Loading content...

Implementations on Foreign Types

impl<'lua> FromLuaMulti<'lua> for ()[src]

impl<'lua, A> FromLuaMulti<'lua> for (A,) where
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, A> FromLuaMulti<'lua> for (B, A) where
    B: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, C, A> FromLuaMulti<'lua> for (B, C, A) where
    B: FromLua<'lua>,
    C: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, C, D, A> FromLuaMulti<'lua> for (B, C, D, A) where
    B: FromLua<'lua>,
    C: FromLua<'lua>,
    D: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, C, D, E, A> FromLuaMulti<'lua> for (B, C, D, E, A) where
    B: FromLua<'lua>,
    C: FromLua<'lua>,
    D: FromLua<'lua>,
    E: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, C, D, E, F, A> FromLuaMulti<'lua> for (B, C, D, E, F, A) where
    B: FromLua<'lua>,
    C: FromLua<'lua>,
    D: FromLua<'lua>,
    E: FromLua<'lua>,
    F: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, C, D, E, F, G, A> FromLuaMulti<'lua> for (B, C, D, E, F, G, A) where
    B: FromLua<'lua>,
    C: FromLua<'lua>,
    D: FromLua<'lua>,
    E: FromLua<'lua>,
    F: FromLua<'lua>,
    G: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, C, D, E, F, G, H, A> FromLuaMulti<'lua> for (B, C, D, E, F, G, H, A) where
    B: FromLua<'lua>,
    C: FromLua<'lua>,
    D: FromLua<'lua>,
    E: FromLua<'lua>,
    F: FromLua<'lua>,
    G: FromLua<'lua>,
    H: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, C, D, E, F, G, H, I, A> FromLuaMulti<'lua> for (B, C, D, E, F, G, H, I, A) where
    B: FromLua<'lua>,
    C: FromLua<'lua>,
    D: FromLua<'lua>,
    E: FromLua<'lua>,
    F: FromLua<'lua>,
    G: FromLua<'lua>,
    H: FromLua<'lua>,
    I: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, C, D, E, F, G, H, I, J, A> FromLuaMulti<'lua> for (B, C, D, E, F, G, H, I, J, A) where
    B: FromLua<'lua>,
    C: FromLua<'lua>,
    D: FromLua<'lua>,
    E: FromLua<'lua>,
    F: FromLua<'lua>,
    G: FromLua<'lua>,
    H: FromLua<'lua>,
    I: FromLua<'lua>,
    J: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, C, D, E, F, G, H, I, J, K, A> FromLuaMulti<'lua> for (B, C, D, E, F, G, H, I, J, K, A) where
    B: FromLua<'lua>,
    C: FromLua<'lua>,
    D: FromLua<'lua>,
    E: FromLua<'lua>,
    F: FromLua<'lua>,
    G: FromLua<'lua>,
    H: FromLua<'lua>,
    I: FromLua<'lua>,
    J: FromLua<'lua>,
    K: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, C, D, E, F, G, H, I, J, K, L, A> FromLuaMulti<'lua> for (B, C, D, E, F, G, H, I, J, K, L, A) where
    B: FromLua<'lua>,
    C: FromLua<'lua>,
    D: FromLua<'lua>,
    E: FromLua<'lua>,
    F: FromLua<'lua>,
    G: FromLua<'lua>,
    H: FromLua<'lua>,
    I: FromLua<'lua>,
    J: FromLua<'lua>,
    K: FromLua<'lua>,
    L: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, C, D, E, F, G, H, I, J, K, L, M, A> FromLuaMulti<'lua> for (B, C, D, E, F, G, H, I, J, K, L, M, A) where
    B: FromLua<'lua>,
    C: FromLua<'lua>,
    D: FromLua<'lua>,
    E: FromLua<'lua>,
    F: FromLua<'lua>,
    G: FromLua<'lua>,
    H: FromLua<'lua>,
    I: FromLua<'lua>,
    J: FromLua<'lua>,
    K: FromLua<'lua>,
    L: FromLua<'lua>,
    M: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, C, D, E, F, G, H, I, J, K, L, M, N, A> FromLuaMulti<'lua> for (B, C, D, E, F, G, H, I, J, K, L, M, N, A) where
    B: FromLua<'lua>,
    C: FromLua<'lua>,
    D: FromLua<'lua>,
    E: FromLua<'lua>,
    F: FromLua<'lua>,
    G: FromLua<'lua>,
    H: FromLua<'lua>,
    I: FromLua<'lua>,
    J: FromLua<'lua>,
    K: FromLua<'lua>,
    L: FromLua<'lua>,
    M: FromLua<'lua>,
    N: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, C, D, E, F, G, H, I, J, K, L, M, N, O, A> FromLuaMulti<'lua> for (B, C, D, E, F, G, H, I, J, K, L, M, N, O, A) where
    B: FromLua<'lua>,
    C: FromLua<'lua>,
    D: FromLua<'lua>,
    E: FromLua<'lua>,
    F: FromLua<'lua>,
    G: FromLua<'lua>,
    H: FromLua<'lua>,
    I: FromLua<'lua>,
    J: FromLua<'lua>,
    K: FromLua<'lua>,
    L: FromLua<'lua>,
    M: FromLua<'lua>,
    N: FromLua<'lua>,
    O: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

impl<'lua, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, A> FromLuaMulti<'lua> for (B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, A) where
    B: FromLua<'lua>,
    C: FromLua<'lua>,
    D: FromLua<'lua>,
    E: FromLua<'lua>,
    F: FromLua<'lua>,
    G: FromLua<'lua>,
    H: FromLua<'lua>,
    I: FromLua<'lua>,
    J: FromLua<'lua>,
    K: FromLua<'lua>,
    L: FromLua<'lua>,
    M: FromLua<'lua>,
    N: FromLua<'lua>,
    O: FromLua<'lua>,
    P: FromLua<'lua>,
    A: FromLuaMulti<'lua>, 
[src]

Loading content...

Implementors

impl<'lua> FromLuaMulti<'lua> for MultiValue<'lua>[src]

impl<'lua, T: FromLua<'lua>> FromLuaMulti<'lua> for Variadic<T>[src]

impl<'lua, T: FromLua<'lua>> FromLuaMulti<'lua> for T[src]

Loading content...