pub enum MetaAction {
Store {
dst: u32,
},
Discard,
Compare {
k: bool,
negate: bool,
},
Concat {
dst: u32,
base_a: u32,
},
}Expand description
Per-op finishing action for a yielded metamethod call.
Variants§
Store
arithmetic / index / unary / length: store the single result at dst
Discard
__newindex: the metamethod has no result to keep
Compare
comparison (__eq/__lt/__le): the truthiness of the result feeds the
conditional skip — the following JMP runs iff result.truthy() == k.
negate=true flips the truthiness first, for the ≤5.3 __le →
not __lt(b, a) synthesis path where the metamethod is __lt but
the operator was <=.
Fields
Concat
__concat: store the result at dst, set top = dst + 1, then continue
folding the operands still at [base_a .. top) (PUC finishOp re-runs).
Trait Implementations§
Source§impl Clone for MetaAction
impl Clone for MetaAction
Source§fn clone(&self) -> MetaAction
fn clone(&self) -> MetaAction
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for MetaAction
Auto Trait Implementations§
impl Freeze for MetaAction
impl RefUnwindSafe for MetaAction
impl Send for MetaAction
impl Sync for MetaAction
impl Unpin for MetaAction
impl UnsafeUnpin for MetaAction
impl UnwindSafe for MetaAction
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