Skip to main content

Proto

Struct Proto 

Source
pub struct Proto { /* private fields */ }
Expand description

Non-owning identity of a VM prototype record.

§Safety model for unsafe methods

The proto and all referenced arrays and objects must remain live. Program counters and indices must be in bounds for their corresponding arrays, and code mutation must preserve a valid bytecode graph.

Implementations§

Source§

impl Proto

Source

pub const unsafe fn from_raw(raw: NonNull<RawProto>) -> Self

Source

pub unsafe fn source(&self) -> Option<TString>

Source

pub unsafe fn debug_name(&self) -> Option<TString>

Source

pub unsafe fn upvalue_name(&self, index: usize) -> Option<TString>

Source

pub unsafe fn child_proto(&self, index: usize) -> Option<Self>

Source

pub unsafe fn gc_list(&self) -> Option<GcObject>

Source

pub unsafe fn set_gc_list(&self, gc_list: Option<GcObject>)

Source

pub unsafe fn loc_var(&self, index: usize) -> Option<LocVar>

Source

pub unsafe fn size(&self) -> usize

sizeproto

Source

pub unsafe fn constants(&self) -> TValueCursor

Source

pub unsafe fn constant(&self, index: usize) -> TValue

Source

pub unsafe fn get_line(&self, pc: i32) -> i32

luaG_getline

Source

pub unsafe fn pc_rel(&self, saved_pc: *const u32) -> i32

pcRel

Source

pub unsafe fn get_local(&self, local_number: i32, pc: i32) -> Option<LocVar>

luaF_getlocal

Source

pub unsafe fn find_local(&self, local_reg: i32, pc: i32) -> Option<LocVar>

luaF_findlocal

Source

pub unsafe fn feedback_slot( &self, index: usize, ) -> Option<NonNull<FeedbackVectorSlot>>

Source

pub unsafe fn code_at(&self, index: usize) -> u32

Source

pub unsafe fn set_code_at(&self, index: usize, value: u32)

Trait Implementations§

Source§

impl AsRef<Proto> for Proto

Source§

fn as_ref(&self) -> &Proto

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for Proto

Source§

fn clone(&self) -> Proto

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Proto

Source§

impl Eq for Proto

Source§

impl From<Proto> for GcObject

Source§

fn from(value: Proto) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Proto

Source§

fn eq(&self, other: &Proto) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl RawHandle for Proto

Source§

type Raw = RawProto

Raw VM record addressed by this handle.
Source§

fn as_ptr(&self) -> *mut Self::Raw

Returns the record address without dereferencing it.
Source§

impl StructuralPartialEq for Proto

Auto Trait Implementations§

§

impl !Send for Proto

§

impl !Sync for Proto

§

impl Freeze for Proto

§

impl RefUnwindSafe for Proto

§

impl Unpin for Proto

§

impl UnsafeUnpin for Proto

§

impl UnwindSafe for Proto

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.