pub struct TyErased(pub Box<TypeExpr>);Expand description
An ast::TypeExpr behind a stream-erasing parse (see above).
Tuple Fields§
§0: Box<TypeExpr>Trait Implementations§
impl Deref for TyErased
Source§impl Parse<WithSpan<Token, Span>> for TyErased
impl Parse<WithSpan<Token, Span>> for TyErased
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
impl StructuralPartialEq for TyErased
Auto Trait Implementations§
impl Freeze for TyErased
impl RefUnwindSafe for TyErased
impl Send for TyErased
impl Sync for TyErased
impl Unpin for TyErased
impl UnsafeUnpin for TyErased
impl UnwindSafe for TyErased
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