Trait LuaRead

Source
pub trait LuaRead: Sized {
    // Required method
    fn lua_read_with_pop(
        lua: *mut lua_State,
        index: i32,
        pop: i32,
    ) -> Option<Self>;

    // Provided methods
    fn lua_read(lua: *mut lua_State) -> Option<Self> { ... }
    fn lua_read_at_position(lua: *mut lua_State, index: i32) -> Option<Self> { ... }
}
Expand description

Types that can be obtained from a Lua context.

Most types that implement LuaPush also implement LuaRead, but this is not always the case (for example &'static str implements LuaPush but not LuaRead).

Required Methods§

Source

fn lua_read_with_pop(lua: *mut lua_State, index: i32, pop: i32) -> Option<Self>

Reads the data from Lua at a given position.

Provided Methods§

Source

fn lua_read(lua: *mut lua_State) -> Option<Self>

Reads the data from Lua.

Source

fn lua_read_at_position(lua: *mut lua_State, index: i32) -> Option<Self>

Reads the data from Lua at a given position.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl LuaRead for bool

Source§

impl LuaRead for f32

Source§

impl LuaRead for f64

Source§

impl LuaRead for i8

Source§

impl LuaRead for i16

Source§

impl LuaRead for i32

Source§

impl LuaRead for i64

Source§

impl LuaRead for u8

Source§

impl LuaRead for u16

Source§

impl LuaRead for u32

Source§

impl LuaRead for u64

Source§

impl LuaRead for ()

Source§

impl LuaRead for usize

Source§

impl LuaRead for String

Source§

impl<A: LuaRead, B: LuaRead, C: LuaRead, D: LuaRead, E: LuaRead, F: LuaRead, G: LuaRead, H: LuaRead, I: LuaRead, J: LuaRead, K: LuaRead, L: LuaRead, M: LuaRead> LuaRead for (A, B, C, D, E, F, G, H, I, J, K, L, M)

Source§

impl<B: LuaRead, C: LuaRead, D: LuaRead, E: LuaRead, F: LuaRead, G: LuaRead, H: LuaRead, I: LuaRead, J: LuaRead, K: LuaRead, L: LuaRead, M: LuaRead> LuaRead for (B, C, D, E, F, G, H, I, J, K, L, M)

Source§

impl<C: LuaRead, D: LuaRead, E: LuaRead, F: LuaRead, G: LuaRead, H: LuaRead, I: LuaRead, J: LuaRead, K: LuaRead, L: LuaRead, M: LuaRead> LuaRead for (C, D, E, F, G, H, I, J, K, L, M)

Source§

impl<D: LuaRead, E: LuaRead, F: LuaRead, G: LuaRead, H: LuaRead, I: LuaRead, J: LuaRead, K: LuaRead, L: LuaRead, M: LuaRead> LuaRead for (D, E, F, G, H, I, J, K, L, M)

Source§

impl<E: LuaRead, F: LuaRead, G: LuaRead, H: LuaRead, I: LuaRead, J: LuaRead, K: LuaRead, L: LuaRead, M: LuaRead> LuaRead for (E, F, G, H, I, J, K, L, M)

Source§

impl<F: LuaRead, G: LuaRead, H: LuaRead, I: LuaRead, J: LuaRead, K: LuaRead, L: LuaRead, M: LuaRead> LuaRead for (F, G, H, I, J, K, L, M)

Source§

impl<G: LuaRead, H: LuaRead, I: LuaRead, J: LuaRead, K: LuaRead, L: LuaRead, M: LuaRead> LuaRead for (G, H, I, J, K, L, M)

Source§

impl<H: LuaRead, I: LuaRead, J: LuaRead, K: LuaRead, L: LuaRead, M: LuaRead> LuaRead for (H, I, J, K, L, M)

Source§

impl<I: LuaRead, J: LuaRead, K: LuaRead, L: LuaRead, M: LuaRead> LuaRead for (I, J, K, L, M)

Source§

impl<J: LuaRead, K: LuaRead, L: LuaRead, M: LuaRead> LuaRead for (J, K, L, M)

Source§

impl<K: LuaRead, L: LuaRead, M: LuaRead> LuaRead for (K, L, M)

Source§

impl<L: LuaRead, M: LuaRead> LuaRead for (L, M)

Source§

impl<M> LuaRead for (M,)
where M: LuaRead,

Source§

impl<T> LuaRead for Vec<T>
where T: LuaRead,

Source§

fn lua_read_with_pop( lua: *mut lua_State, index: i32, _pop: i32, ) -> Option<Vec<T>>

Implementors§