Enum move_lang::typing::ast::UnannotatedExp_
source · pub enum UnannotatedExp_ {
Show 30 variants
Unit {
trailing: bool,
},
Value(Value),
Move {
from_user: bool,
var: Var,
},
Copy {
from_user: bool,
var: Var,
},
Use(Var),
Constant(Option<ModuleIdent>, ConstantName),
ModuleCall(Box<ModuleCall>),
Builtin(Box<BuiltinFunction>, Box<Exp>),
IfElse(Box<Exp>, Box<Exp>, Box<Exp>),
While(Box<Exp>, Box<Exp>),
Loop {
has_break: bool,
body: Box<Exp>,
},
Block(Sequence),
Assign(LValueList, Vec<Option<Type>>, Box<Exp>),
Mutate(Box<Exp>, Box<Exp>),
Return(Box<Exp>),
Abort(Box<Exp>),
Break,
Continue,
Dereference(Box<Exp>),
UnaryExp(UnaryOp, Box<Exp>),
BinopExp(Box<Exp>, BinOp, Box<Type>, Box<Exp>),
Pack(ModuleIdent, StructName, Vec<Type>, Fields<(Type, Exp)>),
ExpList(Vec<ExpListItem>),
Borrow(bool, Box<Exp>, Field),
TempBorrow(bool, Box<Exp>),
BorrowLocal(bool, Var),
Cast(Box<Exp>, Box<Type>),
Annotate(Box<Exp>, Box<Type>),
Spec(SpecId, BTreeMap<Var, Type>),
UnresolvedError,
}
Variants§
Unit
Value(Value)
Move
Copy
Use(Var)
Constant(Option<ModuleIdent>, ConstantName)
ModuleCall(Box<ModuleCall>)
Builtin(Box<BuiltinFunction>, Box<Exp>)
IfElse(Box<Exp>, Box<Exp>, Box<Exp>)
While(Box<Exp>, Box<Exp>)
Loop
Block(Sequence)
Assign(LValueList, Vec<Option<Type>>, Box<Exp>)
Mutate(Box<Exp>, Box<Exp>)
Return(Box<Exp>)
Abort(Box<Exp>)
Break
Continue
Dereference(Box<Exp>)
UnaryExp(UnaryOp, Box<Exp>)
BinopExp(Box<Exp>, BinOp, Box<Type>, Box<Exp>)
Pack(ModuleIdent, StructName, Vec<Type>, Fields<(Type, Exp)>)
ExpList(Vec<ExpListItem>)
Borrow(bool, Box<Exp>, Field)
TempBorrow(bool, Box<Exp>)
BorrowLocal(bool, Var)
Cast(Box<Exp>, Box<Type>)
Annotate(Box<Exp>, Box<Type>)
Spec(SpecId, BTreeMap<Var, Type>)
UnresolvedError
Trait Implementations§
source§impl Clone for UnannotatedExp_
impl Clone for UnannotatedExp_
source§fn clone(&self) -> UnannotatedExp_
fn clone(&self) -> UnannotatedExp_
Returns a copy 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 moresource§impl Debug for UnannotatedExp_
impl Debug for UnannotatedExp_
source§impl PartialEq<UnannotatedExp_> for UnannotatedExp_
impl PartialEq<UnannotatedExp_> for UnannotatedExp_
source§fn eq(&self, other: &UnannotatedExp_) -> bool
fn eq(&self, other: &UnannotatedExp_) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.