Skip to main content

Object

Struct Object 

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

Non-owning identity of a VM object-instance record.

§Safety model for unsafe methods

The object and its class must be live records in the same VM. Member indices and cached offsets must be valid for that class, and writes must preserve the collector’s barrier and list invariants.

Implementations§

Source§

impl Object

Source

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

Source

pub unsafe fn class(&self) -> Class

Source

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

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 gc_list_slot(&self) -> *mut *mut RawGcObject

Source

pub unsafe fn allocation_size(&self) -> usize

Source

pub fn offset_in_bounds(&self, offset: u32) -> bool

luaR_checkoffsetinbounds

Source

pub unsafe fn lookup_member_at_offset(&self, offset: u32) -> TValue

luaR_lookupmemberatoffset

Source

pub unsafe fn lookup_member(&self, key: TValue) -> Option<TValue>

Source

pub unsafe fn lookup_member_cached( &self, key: TString, slot: u8, ) -> ObjectMemberLookup

Trait Implementations§

Source§

impl AsRef<Object> for Object

Source§

fn as_ref(&self) -> &Object

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

impl Clone for Object

Source§

fn clone(&self) -> Object

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 Object

Source§

impl Eq for Object

Source§

impl From<Object> for GcObject

Source§

fn from(value: Object) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Object

Source§

fn eq(&self, other: &Object) -> 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 Object

Source§

type Raw = RawLuauObject

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 Object

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