pub struct TypeBindsV1 {
pub first: TypeBindSingleV1,
pub ands: Vec<TypeAndV1>,
}Expand description
One whole bind_type chain — bind_type_single (AND bind_type_single)*
(parser_v1.mly:535-537) — grouped into a single struct so the sig
layer (ast::SigExpr::WithType, ast::Decl::Type) can reference the
chain through ONE eraser (TypeBindsErasedV1). Bind::Type keeps
its flattened first/ands fields unchanged (avoiding call-site
churn); the two spellings are the same grammar.
Fields§
§first: TypeBindSingleV1§ands: Vec<TypeAndV1>Trait Implementations§
Source§impl Clone for TypeBindsV1
impl Clone for TypeBindsV1
Source§fn clone(&self) -> TypeBindsV1
fn clone(&self) -> TypeBindsV1
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 TypeBindsV1
impl Debug for TypeBindsV1
Source§impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for TypeBindsV1
impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for TypeBindsV1
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
Source§impl PartialEq for TypeBindsV1
impl PartialEq for TypeBindsV1
impl StructuralPartialEq for TypeBindsV1
Source§impl<__SyanMacro_Atom> Unparse<__SyanMacro_Atom> for TypeBindsV1
impl<__SyanMacro_Atom> Unparse<__SyanMacro_Atom> for TypeBindsV1
Auto Trait Implementations§
impl Freeze for TypeBindsV1
impl RefUnwindSafe for TypeBindsV1
impl Send for TypeBindsV1
impl Sync for TypeBindsV1
impl Unpin for TypeBindsV1
impl UnsafeUnpin for TypeBindsV1
impl UnwindSafe for TypeBindsV1
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