Enum llvm_ir::operand::Operand[][src]

pub enum Operand {
    LocalOperand {
        name: Name,
        ty: TypeRef,
    },
    ConstantOperand(ConstantRef),
    MetadataOperand,
}

Variants

LocalOperand

e.g., i32 %foo

Fields of LocalOperand

name: Namety: TypeRef
ConstantOperand(ConstantRef)

includes GlobalReference for things like @foo

MetadataOperand

Implementations

impl Operand[src]

pub fn as_constant(&self) -> Option<&Constant>[src]

Get a reference to the Constant, if the operand is a constant; otherwise, returns None.

This allows nested matching on Operand. Instead of the following code (which doesn't compile because you can't directly match on ConstantRef)

if let Operand::ConstantOperand(Constant::Float(Float::Double(val))) = op

you can write this:

if let Some(Constant::Float(Float::Double(val))) = op.as_constant()

Trait Implementations

impl Clone for Operand[src]

impl Debug for Operand[src]

impl Display for Operand[src]

impl PartialEq<Operand> for Operand[src]

impl StructuralPartialEq for Operand[src]

impl Typed for Operand[src]

Auto Trait Implementations

impl RefUnwindSafe for Operand[src]

impl Send for Operand[src]

impl Sync for Operand[src]

impl Unpin for Operand[src]

impl UnwindSafe for Operand[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.