Skip to main content

FromLua

Trait FromLua 

Source
pub trait FromLua<'a>: Sized {
    const TYPE_NAME: &'static str = _;

    // Required method
    fn from_lua(lua: &'a State, val: ValRef<'a>) -> Result<Self>;
}
Expand description

Trait for types that can be taken from the Lua stack

For the reference types such as &[u8], &str, the conversion will fail if val not an argument passed by lua. For the compound reference types such as Vec<&[u8]>, the conversion always fail, because it will create some temporary ValRefs on the stack, which can not hold the reference’s lifetime.

In order to convert to reference type, you can use the ValRef::deserialize method with the serde feature enabled, it can guarantee the lifetime of the reference type is same as &ValRef

Provided Associated Constants§

Source

const TYPE_NAME: &'static str = _

Required Methods§

Source

fn from_lua(lua: &'a State, val: ValRef<'a>) -> Result<Self>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl FromLua<'_> for SocketAddr

Source§

fn from_lua(lua: &LuaState, val: ValRef<'_>) -> LuaResult<Self>

Source§

impl FromLua<'_> for bool

Source§

fn from_lua(lua: &State, val: ValRef<'_>) -> Result<bool>

Source§

impl FromLua<'_> for f32

Source§

fn from_lua(s: &State, val: ValRef<'_>) -> Result<f32>

Source§

impl FromLua<'_> for f64

Source§

fn from_lua(lua: &State, val: ValRef<'_>) -> Result<f64>

Source§

impl FromLua<'_> for i8

Source§

fn from_lua(lua: &State, val: ValRef<'_>) -> Result<i8>

Source§

impl FromLua<'_> for i16

Source§

fn from_lua(lua: &State, val: ValRef<'_>) -> Result<i16>

Source§

impl FromLua<'_> for i32

Source§

fn from_lua(lua: &State, val: ValRef<'_>) -> Result<i32>

Source§

impl FromLua<'_> for i64

Source§

fn from_lua(lua: &State, val: ValRef<'_>) -> Result<i64>

Source§

impl FromLua<'_> for isize

Source§

fn from_lua(lua: &State, val: ValRef<'_>) -> Result<isize>

Source§

impl FromLua<'_> for u8

Source§

fn from_lua(lua: &State, val: ValRef<'_>) -> Result<u8>

Source§

impl FromLua<'_> for u16

Source§

fn from_lua(lua: &State, val: ValRef<'_>) -> Result<u16>

Source§

impl FromLua<'_> for u32

Source§

fn from_lua(lua: &State, val: ValRef<'_>) -> Result<u32>

Source§

impl FromLua<'_> for u64

Source§

fn from_lua(lua: &State, val: ValRef<'_>) -> Result<u64>

Source§

impl FromLua<'_> for usize

Source§

fn from_lua(lua: &State, val: ValRef<'_>) -> Result<usize>

Source§

impl FromLua<'_> for Box<str>

Source§

const TYPE_NAME: &'static str = "string"

Source§

fn from_lua(s: &State, val: ValRef<'_>) -> Result<Self>

Source§

impl FromLua<'_> for String

Source§

const TYPE_NAME: &'static str = "string"

Source§

fn from_lua(s: &State, val: ValRef<'_>) -> Result<String>

Source§

impl FromLua<'_> for Arc<str>

Source§

const TYPE_NAME: &'static str = "string"

Source§

fn from_lua(s: &State, val: ValRef<'_>) -> Result<Self>

Source§

impl FromLua<'_> for PathBuf

Source§

fn from_lua(s: &LuaState, val: ValRef<'_>) -> Result<Self>

Source§

impl FromLua<'_> for Stdio

Source§

fn from_lua(lua: &LuaState, val: ValRef<'_>) -> Result<Self>

Source§

impl FromLua<'_> for Pattern

Source§

fn from_lua(lua: &LuaState, val: ValRef<'_>) -> Result<Self>

Source§

impl<'a> FromLua<'a> for &'a str

Source§

const TYPE_NAME: &'static str = "string"

Source§

fn from_lua(s: &'a State, val: ValRef<'a>) -> Result<&'a str>

Source§

impl<'a> FromLua<'a> for &'a OsStr

Available on crate feature std only.
Source§

fn from_lua(lua: &'a State, val: ValRef<'a>) -> Result<Self>

Source§

impl<'a> FromLua<'a> for &'a Path

Source§

fn from_lua(lua: &'a LuaState, val: ValRef<'a>) -> Result<Self>

Source§

impl<'a> FromLua<'a> for &'a [u8]

Source§

const TYPE_NAME: &'static str = "bytes"

Source§

fn from_lua(lua: &'a State, val: ValRef<'a>) -> Result<&'a [u8]>

Source§

impl<'a> FromLua<'a> for Cow<'a, str>

Source§

const TYPE_NAME: &'static str = "string"

Source§

fn from_lua(s: &'a State, val: ValRef<'a>) -> Result<Cow<'a, str>>

Source§

impl<'a> FromLua<'a> for Shutdown

Source§

fn from_lua(lua: &'a LuaState, val: ValRef<'a>) -> LuaResult<Self>

Source§

impl<'a> FromLua<'a> for Duration

Source§

fn from_lua(_: &'a LuaState, val: ValRef<'a>) -> Result<Self>

Source§

impl<'a> FromLua<'a> for OsString

Available on crate feature std only.
Source§

fn from_lua(lua: &'a State, val: ValRef<'a>) -> Result<Self>

Source§

impl<'a, K: FromLua<'a> + Eq + Hash + 'static, V: FromLua<'a> + 'static> FromLua<'a> for HashMap<K, V>

Available on crate feature std only.
Source§

fn from_lua(s: &'a State, val: ValRef<'a>) -> Result<Self>

Source§

impl<'a, T: UserData<Trans = RefCell<T>>> FromLua<'a> for &'a RefCell<T>

Source§

fn from_lua(s: &'a State, val: ValRef<'a>) -> Result<Self>

Source§

impl<'a, T: UserData<Trans = RefCell<T>>> FromLua<'a> for Ref<'a, T>

Source§

fn from_lua(s: &'a State, val: ValRef<'a>) -> Result<Self>

Source§

impl<'a, T: UserData<Trans = RefCell<T>>> FromLua<'a> for RefMut<'a, T>

Source§

fn from_lua(s: &'a State, val: ValRef<'a>) -> Result<Self>

Source§

impl<'a, T: UserData<Trans = T>> FromLua<'a> for &'a T

Source§

const TYPE_NAME: &'static str = T::TYPE_NAME

Source§

fn from_lua(lua: &'a State, val: ValRef<'a>) -> Result<&'a T>

Source§

impl<'a, T: FromLua<'a>> FromLua<'a> for Option<T>

Source§

fn from_lua(lua: &'a State, val: ValRef<'a>) -> Result<Option<T>>

Source§

impl<'a, V: FromLua<'a> + 'static> FromLua<'a> for Vec<V>

Source§

fn from_lua(s: &'a State, val: ValRef<'a>) -> Result<Self>

Implementors§

Source§

impl FromLua<'_> for LuaBytes

Source§

impl FromLua<'_> for Strict<i8>

Source§

impl FromLua<'_> for Strict<i16>

Source§

impl FromLua<'_> for Strict<i32>

Source§

impl FromLua<'_> for Strict<i64>

Source§

impl FromLua<'_> for Strict<isize>

Source§

impl FromLua<'_> for Strict<u8>

Source§

impl FromLua<'_> for Strict<u16>

Source§

impl FromLua<'_> for Strict<u32>

Source§

impl FromLua<'_> for Strict<u64>

Source§

impl FromLua<'_> for Strict<usize>

Source§

impl FromLua<'_> for Coroutine

Source§

impl FromLua<'_> for StrictBool

Source§

impl<'a> FromLua<'a> for Value<'a>

Source§

impl<'a> FromLua<'a> for Strict<&'a str>

Source§

impl<'a> FromLua<'a> for Strict<&'a [u8]>

Source§

impl<'a> FromLua<'a> for Function<'a>

Source§

impl<'a> FromLua<'a> for LuaString<'a>

Source§

impl<'a> FromLua<'a> for LuaThread<'a>

Source§

impl<'a> FromLua<'a> for LuaUserData<'a>

Source§

impl<'a> FromLua<'a> for Table<'a>

Source§

impl<'a> FromLua<'a> for ValRef<'a>

Source§

impl<'a, T: UserData> FromLua<'a> for OwnedUserdata<T>

Source§

const TYPE_NAME: &'static str = T::TYPE_NAME

Source§

impl<'a, T: UserData<Trans = MaybePointer<T>>> FromLua<'a> for MaybePtrRef<'a, T>

Source§

const TYPE_NAME: &'static str = T::TYPE_NAME

Source§

impl<'a, T: CoreFromStr> FromLua<'a> for FromStr<T>
where T::Err: Debug,

Source§

const TYPE_NAME: &'static str

Source§

impl<'a, T: Flags> FromLua<'a> for BitFlags<T>
where T::Bits: FromLua<'a>,

Available on crate feature bitflags only.
Source§

const TYPE_NAME: &'static str

Source§

impl<'a, T: Deserialize<'a> + 'a> FromLua<'a> for SerdeValue<T>

Source§

impl<'a, T: DeserializeOwned + 'a> FromLua<'a> for SerdeOwnedValue<T>

Source§

impl<'a, T: FromLua<'a> + 'a> FromLua<'a> for MultiRet<T>

Source§

const TYPE_NAME: &'static str