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