pub struct MatchArm {
pub pat: PatErasedV1,
pub arrow: ArrowTok,
pub body: ExprErasedV1,
}Expand description
One pat -> body match arm (parser_v1.mly:959). Unlike
crate::cst::ast::MatchArm, has no when guard — 0.1’s grammar
has none.
Fields§
§pat: PatErasedV1§arrow: ArrowTok§body: ExprErasedV1Trait Implementations§
Source§impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for MatchArmwhere
__SyanMacro_Atom: Spanned + Clone,
PatErasedV1: Parse<__SyanMacro_Atom>,
ArrowTok: Parse<__SyanMacro_Atom>,
ExprErasedV1: Parse<__SyanMacro_Atom>,
impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for MatchArmwhere
__SyanMacro_Atom: Spanned + Clone,
PatErasedV1: Parse<__SyanMacro_Atom>,
ArrowTok: Parse<__SyanMacro_Atom>,
ExprErasedV1: Parse<__SyanMacro_Atom>,
Source§type Error = ParseError<<__SyanMacro_Atom as Spanned>::Span>
type Error = ParseError<<__SyanMacro_Atom as Spanned>::Span>
Every error must be convertible to the universal one, so a field’s failure can become the
enclosing type’s failure with no per-field where-predicate. Stating it HERE rather than at
each derived impl is what keeps it out of the obligation graph: a per-field
<FieldTy as Parse<Atom>>::Error: Into<…> predicate re-creates a projection cycle on a
recursive field (E0275), which decycle’s bound-peeling does not break.Source§fn parse_stream<__SyanMacro_S: ParseStream<Atom = __SyanMacro_Atom>>(
__syan_stream: &mut __SyanMacro_S,
) -> Result<Self, Self::Error>
fn parse_stream<__SyanMacro_S: ParseStream<Atom = __SyanMacro_Atom>>( __syan_stream: &mut __SyanMacro_S, ) -> Result<Self, Self::Error>
Parse from a reborrowable stream. Read more
impl StructuralPartialEq for MatchArm
Source§impl<__SyanMacro_Atom> Unparse<__SyanMacro_Atom> for MatchArmwhere
PatErasedV1: Unparse<__SyanMacro_Atom>,
ArrowTok: Unparse<__SyanMacro_Atom>,
ExprErasedV1: Unparse<__SyanMacro_Atom>,
impl<__SyanMacro_Atom> Unparse<__SyanMacro_Atom> for MatchArmwhere
PatErasedV1: Unparse<__SyanMacro_Atom>,
ArrowTok: Unparse<__SyanMacro_Atom>,
ExprErasedV1: Unparse<__SyanMacro_Atom>,
Auto Trait Implementations§
impl Freeze for MatchArm
impl RefUnwindSafe for MatchArm
impl Send for MatchArm
impl Sync for MatchArm
impl Unpin for MatchArm
impl UnsafeUnpin for MatchArm
impl UnwindSafe for MatchArm
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