pub enum IrStatement {
Show 21 variants
Assign {
lhs: String,
rhs: IrExpression,
},
Move {
from: String,
to: String,
},
Borrow {
from: String,
to: String,
kind: BorrowKind,
},
CallExpr {
func: String,
args: Vec<String>,
result: Option<String>,
},
Return {
value: Option<String>,
},
Drop(String),
EnterScope,
ExitScope,
EnterLoop,
ExitLoop,
If {
then_branch: Vec<IrStatement>,
else_branch: Option<Vec<IrStatement>>,
},
EnterUnsafe,
ExitUnsafe,
PackExpansion {
pack_name: String,
operation: String,
},
UseVariable {
var: String,
operation: String,
},
MoveField {
object: String,
field: String,
to: String,
},
UseField {
object: String,
field: String,
operation: String,
},
BorrowField {
object: String,
field: String,
to: String,
kind: BorrowKind,
},
ImplicitDrop {
var: String,
scope_level: usize,
has_destructor: bool,
},
LambdaCapture {
captures: Vec<LambdaCaptureInfo>,
},
VarDecl {
name: String,
type_name: String,
},
}Variants§
Assign
Move
Borrow
CallExpr
Return
Drop(String)
EnterScope
ExitScope
EnterLoop
ExitLoop
If
EnterUnsafe
ExitUnsafe
PackExpansion
UseVariable
MoveField
UseField
BorrowField
ImplicitDrop
LambdaCapture
Fields
§
captures: Vec<LambdaCaptureInfo>VarDecl
Trait Implementations§
Source§impl Clone for IrStatement
impl Clone for IrStatement
Source§fn clone(&self) -> IrStatement
fn clone(&self) -> IrStatement
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for IrStatement
impl RefUnwindSafe for IrStatement
impl Send for IrStatement
impl Sync for IrStatement
impl Unpin for IrStatement
impl UnwindSafe for IrStatement
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