pub struct OperandOperation<'c> { /* private fields */ }
Expand description
An operand
operation. Define an external input operand in a pattern.
pdl.operand
operations capture external operand edges into an operation
node that originate from operations or block arguments not otherwise
specified within the pattern (i.e. via pdl.result
or pdl.results
). These
operations define individual operands of a given operation. A pdl.operand
may partially constrain an operand by specifying an expected value type
(via a pdl.type
operation).
Example:
// Define an external operand:
%operand = pdl.operand
// Define an external operand with an expected type:
%type = pdl.type : i32
%operand = pdl.operand : %type
Implementations§
source§impl<'c> OperandOperation<'c>
impl<'c> OperandOperation<'c>
sourcepub fn as_operation(&self) -> &Operation<'c>
pub fn as_operation(&self) -> &Operation<'c>
Returns a generic operation.
sourcepub fn builder(
context: &'c Context,
location: Location<'c>
) -> OperandOperationBuilder<'c, Unset>
pub fn builder( context: &'c Context, location: Location<'c> ) -> OperandOperationBuilder<'c, Unset>
Creates a builder.
pub fn value(&self) -> Result<OperationResult<'c, '_>, Error>
pub fn value_type(&self) -> Result<Value<'c, '_>, Error>
Trait Implementations§
source§impl<'c> From<OperandOperation<'c>> for Operation<'c>
impl<'c> From<OperandOperation<'c>> for Operation<'c>
source§fn from(operation: OperandOperation<'c>) -> Self
fn from(operation: OperandOperation<'c>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<'c> RefUnwindSafe for OperandOperation<'c>
impl<'c> !Send for OperandOperation<'c>
impl<'c> !Sync for OperandOperation<'c>
impl<'c> Unpin for OperandOperation<'c>
impl<'c> UnwindSafe for OperandOperation<'c>
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