pub struct CstTypeOptDom {
pub q: OptionalTypeTok,
pub paren: ParenGroup<()>,
pub entries: Vec<CstTypeOptEntry>,
}Expand description
?(l = ty, …) — the closed labeled-optional-domain prefix of
TypeExpr::OptRowFun. No row-variable-tail field: row-tailed
optional domains need signature-level row quantification
(parser_v1.mly’s rowquant/quant) — not implemented here;
cst_v1’s own TypeOptDomInnerV1 models the tail at parse
level and rejects it with a LowerError before ever reaching here
(v1/lower.rs).
Fields§
§q: OptionalTypeTok§paren: ParenGroup<()>§entries: Vec<CstTypeOptEntry>Trait Implementations§
Source§impl Clone for CstTypeOptDom
impl Clone for CstTypeOptDom
Source§fn clone(&self) -> CstTypeOptDom
fn clone(&self) -> CstTypeOptDom
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 CstTypeOptDom
impl Debug for CstTypeOptDom
Source§impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for CstTypeOptDomwhere
__SyanMacro_Atom: Spanned + Clone,
OptionalTypeTok: Parse<__SyanMacro_Atom>,
ParenGroup<()>: GroupShape<__SyanMacro_Atom>,
__SyanSubstructOfOwn_paren_CstTypeOptDom_13316143612193599257: Parse<__SyanMacro_Atom>,
impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for CstTypeOptDomwhere
__SyanMacro_Atom: Spanned + Clone,
OptionalTypeTok: Parse<__SyanMacro_Atom>,
ParenGroup<()>: GroupShape<__SyanMacro_Atom>,
__SyanSubstructOfOwn_paren_CstTypeOptDom_13316143612193599257: 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
Source§impl PartialEq for CstTypeOptDom
impl PartialEq for CstTypeOptDom
impl StructuralPartialEq for CstTypeOptDom
Source§impl<__SyanMacro_Atom> Unparse<__SyanMacro_Atom> for CstTypeOptDomwhere
OptionalTypeTok: Unparse<__SyanMacro_Atom>,
ParenGroup<()>: GroupUnparse<__SyanMacro_Atom>,
for<'syan_substruct_ref> __SyanSubstructOfRef_paren_CstTypeOptDom_13316143612193599257<'syan_substruct_ref>: Unparse<__SyanMacro_Atom>,
impl<__SyanMacro_Atom> Unparse<__SyanMacro_Atom> for CstTypeOptDomwhere
OptionalTypeTok: Unparse<__SyanMacro_Atom>,
ParenGroup<()>: GroupUnparse<__SyanMacro_Atom>,
for<'syan_substruct_ref> __SyanSubstructOfRef_paren_CstTypeOptDom_13316143612193599257<'syan_substruct_ref>: Unparse<__SyanMacro_Atom>,
Auto Trait Implementations§
impl Freeze for CstTypeOptDom
impl RefUnwindSafe for CstTypeOptDom
impl Send for CstTypeOptDom
impl Sync for CstTypeOptDom
impl Unpin for CstTypeOptDom
impl UnsafeUnpin for CstTypeOptDom
impl UnwindSafe for CstTypeOptDom
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