pub struct ExpandedCase {
pub lhs: Spanned<Expr>,
pub rhs: Spanned<Expr>,
pub guard: Option<Spanned<Expr>>,
pub bindings: Vec<(String, Spanned<Expr>)>,
pub from_hostile: bool,
}Expand description
One expanded case: lhs, rhs, the per-given binding map that produced
it, and the substituted when guard if the law had one. The vm-verify
runner takes ownership and produces VM helper fns from these. Origin
flag distinguishes cases that came from the user’s own values from
cases the hostile expansion added.
Fields§
§lhs: Spanned<Expr>§rhs: Spanned<Expr>§guard: Option<Spanned<Expr>>§bindings: Vec<(String, Spanned<Expr>)>§from_hostile: boolTrait Implementations§
Source§impl Clone for ExpandedCase
impl Clone for ExpandedCase
Source§fn clone(&self) -> ExpandedCase
fn clone(&self) -> ExpandedCase
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ExpandedCase
impl RefUnwindSafe for ExpandedCase
impl Send for ExpandedCase
impl Sync for ExpandedCase
impl Unpin for ExpandedCase
impl UnsafeUnpin for ExpandedCase
impl UnwindSafe for ExpandedCase
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