pub struct Inst(_);
Expand description
An opaque reference to an instruction in a Function
.
Most usage of Inst
is internal. Inst
ructions are returned by
InstBuilder
instructions that do not return a
Value
, such as control flow and trap instructions, as well as instructions that return a
variable (potentially zero!) number of values, like call or call-indirect instructions. To get
the Value
of such instructions, use inst_results
or
its analogue in cranelift_frontend::FuncBuilder
.
If you look around the API, you can find many inventive uses for Inst
,
such as annotating specific instructions with a comment
or performing reflection at compile time
on the type of instruction.
While the order is stable, it is arbitrary and does not necessarily resemble the layout order.
Implementations
Trait Implementations
sourceimpl From<Inst> for ExpandedProgramPoint
impl From<Inst> for ExpandedProgramPoint
sourceimpl Index<Inst> for DataFlowGraph
impl Index<Inst> for DataFlowGraph
Allow immutable access to instructions via indexing.
type Output = InstructionData
type Output = InstructionData
The returned type after indexing.
sourcefn index(&self, inst: Inst) -> &InstructionData
fn index(&self, inst: Inst) -> &InstructionData
Performs the indexing (container[index]
) operation. Read more
sourceimpl IndexMut<Inst> for DataFlowGraph
impl IndexMut<Inst> for DataFlowGraph
Allow mutable access to instructions via indexing.
sourcefn index_mut(&mut self, inst: Inst) -> &mut InstructionData
fn index_mut(&mut self, inst: Inst) -> &mut InstructionData
Performs the mutable indexing (container[index]
) operation. Read more
sourceimpl Ord for Inst
impl Ord for Inst
sourceimpl PartialOrd<Inst> for Inst
impl PartialOrd<Inst> for Inst
sourcefn partial_cmp(&self, other: &Inst) -> Option<Ordering>
fn partial_cmp(&self, other: &Inst) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl ReservedValue for Inst
impl ReservedValue for Inst
sourcefn reserved_value() -> Inst
fn reserved_value() -> Inst
Create an instance of the reserved value.
sourcefn is_reserved_value(&self) -> bool
fn is_reserved_value(&self) -> bool
Checks whether value is the reserved one.
impl Copy for Inst
impl Eq for Inst
impl StructuralEq for Inst
impl StructuralPartialEq for Inst
Auto Trait Implementations
impl RefUnwindSafe for Inst
impl Send for Inst
impl Sync for Inst
impl Unpin for Inst
impl UnwindSafe for Inst
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> SparseMapValue<T> for T where
T: EntityRef,
impl<T> SparseMapValue<T> for T where
T: EntityRef,
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more