pub struct PatBotErasedV1(pub Box<PatBot>);Expand description
An ast::PatBot behind a stream-erasing parse (see above). Kept
separate from PatErasedV1 for the same reason
crate::cst’s PatErased/PatBotErased split exists: a
constructor pattern’s argument is a patbot, not a full patas.
Tuple Fields§
§0: Box<PatBot>Trait Implementations§
Source§impl Clone for PatBotErasedV1
impl Clone for PatBotErasedV1
Source§fn clone(&self) -> PatBotErasedV1
fn clone(&self) -> PatBotErasedV1
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 moreSource§impl Debug for PatBotErasedV1
impl Debug for PatBotErasedV1
Source§impl Deref for PatBotErasedV1
impl Deref for PatBotErasedV1
impl Deref for PatBotErasedV1
Source§impl Parse<WithSpan<Token, Span>> for PatBotErasedV1
impl Parse<WithSpan<Token, Span>> for PatBotErasedV1
Source§type Error = ParseError<Span>
type Error = ParseError<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<S: ParseStream<Atom = Atom>>(
stream: &mut S,
) -> Result<Self, Self::Error>
fn parse_stream<S: ParseStream<Atom = Atom>>( stream: &mut S, ) -> Result<Self, Self::Error>
Parse from a reborrowable stream. Read more
Source§impl PartialEq for PatBotErasedV1
impl PartialEq for PatBotErasedV1
impl StructuralPartialEq for PatBotErasedV1
Auto Trait Implementations§
impl Freeze for PatBotErasedV1
impl RefUnwindSafe for PatBotErasedV1
impl Send for PatBotErasedV1
impl Sync for PatBotErasedV1
impl Unpin for PatBotErasedV1
impl UnsafeUnpin for PatBotErasedV1
impl UnwindSafe for PatBotErasedV1
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