pub struct RecClause {
pub bar: BarTok,
pub params: Vec<PatBot>,
pub eq: DefEqTok,
pub value: ExprErased,
}Expand description
A | patbot* = value continuation clause of a multi-clause
let-rec binding (see RecBinding’s doc comment).
Fields§
§bar: BarTok§params: Vec<PatBot>§eq: DefEqTok§value: ExprErasedTrait Implementations§
Source§impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for RecClause
impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for RecClause
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 RecClause
Auto Trait Implementations§
impl Freeze for RecClause
impl RefUnwindSafe for RecClause
impl Send for RecClause
impl Sync for RecClause
impl Unpin for RecClause
impl UnsafeUnpin for RecClause
impl UnwindSafe for RecClause
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