pub enum Term {
Root,
Arg(u8),
Deep(u8, u8),
Reg(Value),
Num(i128),
}Expand description
One node of the term the matcher is walking.
A position rather than a term, because the term does not exist. Two of these are values in
their own right, and they are the two a pattern can bind: the register a value wraps and
the number an iconst wraps.
Variants§
Root
The instruction being selected.
Arg(u8)
Operand i of the root, shown the way the plan says to show it.
Deep(u8, u8)
Operand j of the instruction that computed operand i of the root.
Reg(Value)
A value in a register, which is what a pattern binds when it writes (value.iN x).
Num(i128)
A constant, which is what a pattern binds or tests inside an (iconst.iN k).
Trait Implementations§
impl Copy for Term
impl Eq for Term
impl StructuralPartialEq for Term
Auto Trait Implementations§
impl Freeze for Term
impl RefUnwindSafe for Term
impl Send for Term
impl Sync for Term
impl Unpin for Term
impl UnsafeUnpin for Term
impl UnwindSafe for Term
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