Enum rlua::Value

source ·
pub enum Value<'lua> {
    Nil,
    Boolean(bool),
    LightUserData(LightUserData),
    Integer(Integer),
    Number(Number),
    String(String<'lua>),
    Table(Table<'lua>),
    Function(Function<'lua>),
    Thread(Thread<'lua>),
    UserData(AnyUserData<'lua>),
    Error(Error),
}
Expand description

A dynamically typed Lua value. The String, Table, Function, Thread, and UserData variants contain handle types into the internal Lua state. It is a logic error to mix handle types between separate Lua instances, or between a parent Lua instance and one received as a parameter in a Rust callback, and doing so will result in a panic.

Variants§

§

Nil

The Lua value nil.

§

Boolean(bool)

The Lua value true or false.

§

LightUserData(LightUserData)

A “light userdata” object, equivalent to a raw pointer.

§

Integer(Integer)

An integer number.

Any Lua number convertible to a Integer will be represented as this variant. (Lua 5.3+ only)

§

Number(Number)

A floating point number.

§

String(String<'lua>)

An interned string, managed by Lua.

Unlike Rust strings, Lua strings may not be valid UTF-8.

§

Table(Table<'lua>)

Reference to a Lua table.

§

Function(Function<'lua>)

Reference to a Lua function (or closure).

§

Thread(Thread<'lua>)

Reference to a Lua thread (or coroutine).

§

UserData(AnyUserData<'lua>)

Reference to a userdata object that holds a custom type which implements UserData. Special builtin userdata types will be represented as other Value variants.

§

Error(Error)

Error is a special builtin userdata type. When received from Lua it is implicitly cloned.

Implementations§

source§

impl<'lua> Value<'lua>

source

pub fn type_name(&self) -> &'static str

Trait Implementations§

source§

impl<'lua> Clone for Value<'lua>

source§

fn clone(&self) -> Value<'lua>

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<'lua> Debug for Value<'lua>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'lua> FromIterator<Value<'lua>> for MultiValue<'lua>

source§

fn from_iter<I: IntoIterator<Item = Value<'lua>>>(iter: I) -> Self

Creates a value from an iterator. Read more
source§

impl<'lua> FromLua<'lua> for Value<'lua>

source§

fn from_lua(lua_value: Value<'lua>, _: Context<'lua>) -> Result<Self>

Performs the conversion.
source§

impl<'lua> ToLua<'lua> for Value<'lua>

source§

fn to_lua(self, _: Context<'lua>) -> Result<Value<'lua>>

Performs the conversion.

Auto Trait Implementations§

§

impl<'lua> !RefUnwindSafe for Value<'lua>

§

impl<'lua> !Send for Value<'lua>

§

impl<'lua> !Sync for Value<'lua>

§

impl<'lua> Unpin for Value<'lua>

§

impl<'lua> !UnwindSafe for Value<'lua>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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<'lua, T> FromLuaMulti<'lua> for Twhere T: FromLua<'lua>,

source§

fn from_lua_multi( values: MultiValue<'lua>, lua: Context<'lua> ) -> Result<T, Error>

Performs the conversion. Read more
source§

impl<T, U> Into<U> for Twhere 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<'lua, T> ToLuaMulti<'lua> for Twhere T: ToLua<'lua>,

source§

fn to_lua_multi(self, lua: Context<'lua>) -> Result<MultiValue<'lua>, Error>

Performs the conversion.
source§

impl<T> ToOwned for Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.