#[non_exhaustive]pub enum LuaMetaMethod {
Show 16 variants
Add,
Sub,
Mul,
Div,
Mod,
Pow,
Unm,
Concat,
Len,
Eq,
Lt,
Le,
Index,
NewIndex,
Call,
ToString,
}Available on crate feature
mlua only.Expand description
Kinds of metamethods that can be overridden.
Currently, this mechanism does not allow overriding the __gc metamethod, since there is
generally no need to do so: UserData implementors can instead just implement Drop.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Add
The + operator.
Sub
The - operator.
Mul
The * operator.
Div
The / operator.
Mod
The % operator.
Pow
The ^ operator.
Unm
The unary minus (-) operator.
Concat
The string concatenation operator ...
Len
The length operator #.
Eq
The == operator.
Lt
The < operator.
Le
The <= operator.
Index
Index access obj[key].
NewIndex
Index write access obj[key] = value.
Call
The call “operator” obj(arg1, args2, ...).
ToString
The __tostring metamethod.
This is not an operator, but will be called by methods such as tostring and print.
Implementations§
Trait Implementations§
Source§impl AsRef<str> for MetaMethod
impl AsRef<str> for MetaMethod
Source§impl Clone for MetaMethod
impl Clone for MetaMethod
Source§fn clone(&self) -> MetaMethod
fn clone(&self) -> MetaMethod
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MetaMethod
impl Debug for MetaMethod
Source§impl Display for MetaMethod
impl Display for MetaMethod
Source§impl Hash for MetaMethod
impl Hash for MetaMethod
Source§impl PartialEq<MetaMethod> for &str
impl PartialEq<MetaMethod> for &str
Source§impl PartialEq for MetaMethod
impl PartialEq for MetaMethod
impl Copy for MetaMethod
impl Eq for MetaMethod
impl StructuralPartialEq for MetaMethod
Auto Trait Implementations§
impl Freeze for MetaMethod
impl RefUnwindSafe for MetaMethod
impl Send for MetaMethod
impl Sync for MetaMethod
impl Unpin for MetaMethod
impl UnwindSafe for MetaMethod
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§type Error = Infallible
type Error = Infallible
The error type in the returned
Result.Source§fn into_result(self) -> Result<T, <T as IntoResult<T>>::Error>
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Error>
Converts the value into a
Result.