mlua_sys::luau::lua

Struct lua_Callbacks

Source
#[non_exhaustive]
#[repr(C)]
pub struct lua_Callbacks { pub userdata: *mut c_void, pub interrupt: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, gc: c_int)>, pub panic: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, errcode: c_int)>, pub userthread: Option<unsafe extern "C-unwind" fn(LP: *mut lua_State, L: *mut lua_State)>, pub useratom: Option<unsafe extern "C-unwind" fn(s: *const c_char, l: usize) -> i16>, pub debugbreak: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, ar: *mut lua_Debug)>, pub debugstep: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, ar: *mut lua_Debug)>, pub debuginterrupt: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, ar: *mut lua_Debug)>, pub debugprotectederror: Option<unsafe extern "C-unwind" fn(L: *mut lua_State)>, pub onallocate: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, osize: usize, nsize: usize)>, }
Available on crate feature luau only.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§userdata: *mut c_void

arbitrary userdata pointer that is never overwritten by Luau

§interrupt: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, gc: c_int)>

gets called at safepoints (loop back edges, call/ret, gc) if set

§panic: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, errcode: c_int)>

gets called when an unprotected error is raised (if longjmp is used)

§userthread: Option<unsafe extern "C-unwind" fn(LP: *mut lua_State, L: *mut lua_State)>

gets called when L is created (LP == parent) or destroyed (LP == NULL)

§useratom: Option<unsafe extern "C-unwind" fn(s: *const c_char, l: usize) -> i16>

gets called when a string is created; returned atom can be retrieved via tostringatom

§debugbreak: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, ar: *mut lua_Debug)>

gets called when BREAK instruction is encountered

§debugstep: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, ar: *mut lua_Debug)>

gets called after each instruction in single step mode

§debuginterrupt: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, ar: *mut lua_Debug)>

gets called when thread execution is interrupted by break in another thread

§debugprotectederror: Option<unsafe extern "C-unwind" fn(L: *mut lua_State)>

gets called when protected call results in an error

§onallocate: Option<unsafe extern "C-unwind" fn(L: *mut lua_State, osize: usize, nsize: usize)>

gets called when memory is allocated

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.