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

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§

source

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

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.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'lua> FromLuaMulti<'lua> for ()

source§

fn from_lua_multi( _values: MultiValue<'lua>, _lua: &'lua Lua ) -> Result<(), Error>

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn from_lua_multi( values: MultiValue<'lua>, lua: &'lua Lua ) -> Result<(B, C, A), Error>

source§

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>,

source§

fn from_lua_multi( values: MultiValue<'lua>, lua: &'lua Lua ) -> Result<(B, C, D, A), Error>

source§

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>,

source§

fn from_lua_multi( values: MultiValue<'lua>, lua: &'lua Lua ) -> Result<(B, C, D, E, A), Error>

source§

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>,

source§

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>,

source§

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>,

source§

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>,

source§

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>,

source§

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>,

source§

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>,

source§

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>,

source§

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>,

source§

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>,

source§

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>,

Implementors§

source§

impl<'lua> FromLuaMulti<'lua> for MultiValue<'lua>

source§

impl<'lua, T> FromLuaMulti<'lua> for Variadic<T>
where T: FromLua<'lua>,

source§

impl<'lua, T> FromLuaMulti<'lua> for T
where T: FromLua<'lua>,