pub struct Callable<L> { /* private fields */ }Expand description
An opaque value on lua stack that can be called. Can represent a lua
function, a lua table with a __call metamethod or other callable lua
value.
Use this type when reading return values from lua functions or getting lua function from tables.
Trait Implementations§
source§impl<L> AsLua for Callable<L>where
    L: AsLua,
 
impl<L> AsLua for Callable<L>where L: AsLua,
fn as_lua(&self) -> LuaState
source§fn try_push<T>(
    self,
    v: T
) -> Result<PushGuard<Self>, (<T as PushInto<Self>>::Err, Self)>where
    Self: Sized,
    T: PushInto<Self>,
 
fn try_push<T>( self, v: T ) -> Result<PushGuard<Self>, (<T as PushInto<Self>>::Err, Self)>where Self: Sized, T: PushInto<Self>,
Try to push 
v onto the lua stack. Read moresource§fn push<T>(self, v: T) -> PushGuard<Self>where
    Self: Sized,
    T: PushInto<Self>,
    <T as PushInto<Self>>::Err: Into<Void>,
 
fn push<T>(self, v: T) -> PushGuard<Self>where Self: Sized, T: PushInto<Self>, <T as PushInto<Self>>::Err: Into<Void>,
Push 
v onto the lua stack. Read moresource§fn try_push_one<T>(
    self,
    v: T
) -> Result<PushGuard<Self>, (<T as PushInto<Self>>::Err, Self)>where
    Self: Sized,
    T: PushOneInto<Self>,
 
fn try_push_one<T>( self, v: T ) -> Result<PushGuard<Self>, (<T as PushInto<Self>>::Err, Self)>where Self: Sized, T: PushOneInto<Self>,
Try to push 
v onto the lua stack. Read moresource§fn push_one<T>(self, v: T) -> PushGuard<Self>where
    Self: Sized,
    T: PushOneInto<Self>,
    <T as PushInto<Self>>::Err: Into<Void>,
 
fn push_one<T>(self, v: T) -> PushGuard<Self>where Self: Sized, T: PushOneInto<Self>, <T as PushInto<Self>>::Err: Into<Void>,
Push 
v onto the lua stack. Read moresource§fn push_iter<I>(self, iterator: I) -> Result<PushGuard<Self>, Self>where
    Self: Sized,
    I: Iterator,
    <I as Iterator>::Item: PushInto<LuaState>,
    <<I as Iterator>::Item as PushInto<LuaState>>::Err: Into<Void>,
 
fn push_iter<I>(self, iterator: I) -> Result<PushGuard<Self>, Self>where Self: Sized, I: Iterator, <I as Iterator>::Item: PushInto<LuaState>, <<I as Iterator>::Item as PushInto<LuaState>>::Err: Into<Void>,
Push 
iterator onto the lua stack as a lua table. Read moresource§fn try_push_iter<I>(
    self,
    iterator: I
) -> Result<PushGuard<Self>, (PushIterErrorOf<I>, Self)>where
    Self: Sized,
    I: Iterator,
    <I as Iterator>::Item: PushInto<LuaState>,
 
fn try_push_iter<I>( self, iterator: I ) -> Result<PushGuard<Self>, (PushIterErrorOf<I>, Self)>where Self: Sized, I: Iterator, <I as Iterator>::Item: PushInto<LuaState>,
Push 
iterator onto the lua stack as a lua table. Read morefn read<T>(self) -> ReadResult<T, Self>where Self: Sized, T: LuaRead<Self>,
fn read_at<T>(self, index: i32) -> ReadResult<T, Self>where Self: Sized, T: LuaRead<Self>,
fn read_at_nz<T>(self, index: NonZeroI32) -> ReadResult<T, Self>where Self: Sized, T: LuaRead<Self>,
source§impl<L> Call<L> for Callable<L>where
    L: AsLua,
 
impl<L> Call<L> for Callable<L>where L: AsLua,
fn call<'lua, R>(&'lua self) -> Result<R, LuaError>where L: 'lua, R: LuaRead<PushGuard<&'lua L>>,
fn call_with<'lua, A, R>(&'lua self, args: A) -> Result<R, CallError<A::Err>>where L: 'lua, A: PushInto<LuaState>, R: LuaRead<PushGuard<&'lua L>>,
fn into_call<R>(self) -> Result<R, LuaError>where Self: AsLua + Sized, R: LuaRead<PushGuard<Self>>,
fn into_call_with<A, R>(self, args: A) -> Result<R, CallError<A::Err>>where Self: AsLua + Sized, A: PushInto<LuaState>, R: LuaRead<PushGuard<Self>>,
source§impl<L> LuaRead<L> for Callable<L>where
    L: AsLua,
 
impl<L> LuaRead<L> for Callable<L>where L: AsLua,
source§fn lua_read_at_position(lua: L, index: NonZeroI32) -> ReadResult<Self, L>
 
fn lua_read_at_position(lua: L, index: NonZeroI32) -> ReadResult<Self, L>
Reads the data from Lua at a given position.
fn n_values_expected() -> i32
source§fn lua_read(lua: L) -> ReadResult<Self, L>
 
fn lua_read(lua: L) -> ReadResult<Self, L>
Reads the data from Lua.
fn lua_read_at_maybe_zero_position(lua: L, index: i32) -> ReadResult<Self, L>where L: AsLua,
source§impl<L, T> Push<L> for Callable<T>where
    L: AsLua,
    T: AsLua,
 
impl<L, T> Push<L> for Callable<T>where L: AsLua, T: AsLua,
source§fn push_to_lua(&self, lua: L) -> PushResult<L, Self>
 
fn push_to_lua(&self, lua: L) -> PushResult<L, Self>
Pushes the value on the top of the stack. Read more
impl<L, T> PushOne<L> for Callable<T>where L: AsLua, T: AsLua,
Auto Trait Implementations§
impl<L> RefUnwindSafe for Callable<L>where L: RefUnwindSafe,
impl<L> Send for Callable<L>where L: Send,
impl<L> Sync for Callable<L>where L: Sync,
impl<L> Unpin for Callable<L>where L: Unpin,
impl<L> UnwindSafe for Callable<L>where L: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more