pub enum Exp_ {
Show 32 variants
Value(Value),
Move(Var),
Copy(Var),
Name(ModuleAccess, Option<Vec<Type>>),
Call(ModuleAccess, bool, Option<Vec<Type>>, Spanned<Vec<Exp>>),
Pack(ModuleAccess, Option<Vec<Type>>, Fields<Exp>),
Vector(Loc, Option<Vec<Type>>, Spanned<Vec<Exp>>),
IfElse(Box<Exp>, Box<Exp>, Box<Exp>),
While(Box<Exp>, Box<Exp>),
Loop(Box<Exp>),
Block(Sequence),
Lambda(LValueList, Box<Exp>),
Quant(QuantKind, LValueWithRangeList, Vec<Vec<Exp>>, Option<Box<Exp>>, Box<Exp>),
Assign(LValueList, Box<Exp>),
FieldMutate(Box<ExpDotted>, 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<Exp>),
ExpList(Vec<Exp>),
Unit {
trailing: bool,
},
Borrow(bool, Box<Exp>),
ExpDotted(Box<ExpDotted>),
Index(Box<Exp>, Box<Exp>),
Cast(Box<Exp>, Type),
Annotate(Box<Exp>, Type),
Spec(SpecId, BTreeSet<Name>),
UnresolvedError,
}
Variants
Value(Value)
Move(Var)
Copy(Var)
Name(ModuleAccess, Option<Vec<Type>>)
Call(ModuleAccess, bool, Option<Vec<Type>>, Spanned<Vec<Exp>>)
Pack(ModuleAccess, Option<Vec<Type>>, Fields<Exp>)
Vector(Loc, Option<Vec<Type>>, Spanned<Vec<Exp>>)
IfElse(Box<Exp>, Box<Exp>, Box<Exp>)
While(Box<Exp>, Box<Exp>)
Loop(Box<Exp>)
Block(Sequence)
Lambda(LValueList, Box<Exp>)
Quant(QuantKind, LValueWithRangeList, Vec<Vec<Exp>>, Option<Box<Exp>>, Box<Exp>)
Assign(LValueList, Box<Exp>)
FieldMutate(Box<ExpDotted>, 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<Exp>)
ExpList(Vec<Exp>)
Unit
Fields
trailing: bool
Borrow(bool, Box<Exp>)
ExpDotted(Box<ExpDotted>)
Index(Box<Exp>, Box<Exp>)
Cast(Box<Exp>, Type)
Annotate(Box<Exp>, Type)
Spec(SpecId, BTreeSet<Name>)
UnresolvedError
Trait Implementations
impl StructuralPartialEq for Exp_
Auto Trait Implementations
impl RefUnwindSafe for Exp_
impl Send for Exp_
impl Sync for Exp_
impl Unpin for Exp_
impl UnwindSafe for Exp_
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<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)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more