pub enum Exp_ {
Show 30 variants
    Value(Value),
    Move(Var),
    Copy(Var),
    Name(NameAccessChain, Option<Vec<Type>>),
    Call(NameAccessChain, bool, Option<Vec<Type>>, Spanned<Vec<Exp>>),
    Pack(NameAccessChain, Option<Vec<Type>>, Vec<(Field, Exp)>),
    Vector(Loc, Option<Vec<Type>>, Spanned<Vec<Exp>>),
    IfElse(Box<Exp>, Box<Exp>, Option<Box<Exp>>),
    While(Box<Exp>, Box<Exp>),
    Loop(Box<Exp>),
    Block(Sequence),
    Lambda(BindList, Box<Exp>),
    Quant(QuantKind, BindWithRangeList, Vec<Vec<Exp>>, Option<Box<Exp>>, Box<Exp>),
    ExpList(Vec<Exp>),
    Unit,
    Assign(Box<Exp>, Box<Exp>),
    Return(Option<Box<Exp>>),
    Abort(Box<Exp>),
    Break,
    Continue,
    Dereference(Box<Exp>),
    UnaryExp(UnaryOp, Box<Exp>),
    BinopExp(Box<Exp>, BinOp, Box<Exp>),
    Borrow(bool, Box<Exp>),
    Dot(Box<Exp>, Name),
    Index(Box<Exp>, Box<Exp>),
    Cast(Box<Exp>, Type),
    Annotate(Box<Exp>, Type),
    Spec(SpecBlock),
    UnresolvedError,
}Variants
Value(Value)
Move(Var)
Copy(Var)
Name(NameAccessChain, Option<Vec<Type>>)
Call(NameAccessChain, bool, Option<Vec<Type>>, Spanned<Vec<Exp>>)
Pack(NameAccessChain, Option<Vec<Type>>, Vec<(Field, Exp)>)
Vector(Loc, Option<Vec<Type>>, Spanned<Vec<Exp>>)
IfElse(Box<Exp>, Box<Exp>, Option<Box<Exp>>)
While(Box<Exp>, Box<Exp>)
Loop(Box<Exp>)
Block(Sequence)
Lambda(BindList, Box<Exp>)
Quant(QuantKind, BindWithRangeList, Vec<Vec<Exp>>, Option<Box<Exp>>, Box<Exp>)
ExpList(Vec<Exp>)
Unit
Assign(Box<Exp>, Box<Exp>)
Return(Option<Box<Exp>>)
Abort(Box<Exp>)
Break
Continue
Dereference(Box<Exp>)
UnaryExp(UnaryOp, Box<Exp>)
BinopExp(Box<Exp>, BinOp, Box<Exp>)
Borrow(bool, Box<Exp>)
Dot(Box<Exp>, Name)
Index(Box<Exp>, Box<Exp>)
Cast(Box<Exp>, Type)
Annotate(Box<Exp>, Type)
Spec(SpecBlock)
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