LabeledInstr

Enum LabeledInstr 

Source
pub enum LabeledInstr<B> {
    Labeled(usize, Instr<Name, B>),
    Unlabeled(Instr<Name, B>),
}
Expand description

By default each jump or goto just contains a usize offset into the instruction vector. This representation is efficient but hard to work with, so we support mapping this representation into one where any instruction can have an explicit label, and jumps point to those explicit labels, and then going back to the offset based representation for execution.

Variants§

§

Labeled(usize, Instr<Name, B>)

§

Unlabeled(Instr<Name, B>)

Trait Implementations§

Source§

impl<B: Debug> Debug for LabeledInstr<B>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<B> Freeze for LabeledInstr<B>

§

impl<B> RefUnwindSafe for LabeledInstr<B>

§

impl<B> Send for LabeledInstr<B>

§

impl<B> Sync for LabeledInstr<B>

§

impl<B> Unpin for LabeledInstr<B>

§

impl<B> UnwindSafe for LabeledInstr<B>

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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<T, U> Into<U> for T
where 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<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

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

Source§

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.