pub struct TypeCmdOptDomV1 {
pub q: OptionalTypeTok,
pub paren: ParenGroup<()>,
pub entries: Vec<TypeCmdOptEntryV1>,
}Expand description
?(l : τ, …) — a CLOSED command-type optional bundle (upstream
typ_opt_dom, parser.mly:755-761,
minus the | ?'r row-variable tail: command optional-argument types
are closed maps, never rows — upstream itself silently DISCARDS a
written row variable here, parser.mly:859-869’s literal TODO (error) — so this port doesn’t model one either; a stray ?'r inside
a command-type bracket is a parse error, faithfully matching
upstream’s “never actually usable” treatment of it). Mirrors
crate::cst::ast::CstTypeOptDom-shaped satellites elsewhere in this file.
Fields§
§q: OptionalTypeTok§paren: ParenGroup<()>§entries: Vec<TypeCmdOptEntryV1>Trait Implementations§
Source§impl Clone for TypeCmdOptDomV1
impl Clone for TypeCmdOptDomV1
Source§fn clone(&self) -> TypeCmdOptDomV1
fn clone(&self) -> TypeCmdOptDomV1
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 TypeCmdOptDomV1
impl Debug for TypeCmdOptDomV1
Source§impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for TypeCmdOptDomV1where
__SyanMacro_Atom: Spanned + Clone,
OptionalTypeTok: Parse<__SyanMacro_Atom>,
ParenGroup<()>: GroupShape<__SyanMacro_Atom>,
__SyanSubstructOfOwn_paren_TypeCmdOptDomV1_746344495710489311: Parse<__SyanMacro_Atom>,
impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for TypeCmdOptDomV1where
__SyanMacro_Atom: Spanned + Clone,
OptionalTypeTok: Parse<__SyanMacro_Atom>,
ParenGroup<()>: GroupShape<__SyanMacro_Atom>,
__SyanSubstructOfOwn_paren_TypeCmdOptDomV1_746344495710489311: 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 TypeCmdOptDomV1
impl PartialEq for TypeCmdOptDomV1
impl StructuralPartialEq for TypeCmdOptDomV1
Source§impl<__SyanMacro_Atom> Unparse<__SyanMacro_Atom> for TypeCmdOptDomV1where
OptionalTypeTok: Unparse<__SyanMacro_Atom>,
ParenGroup<()>: GroupUnparse<__SyanMacro_Atom>,
for<'syan_substruct_ref> __SyanSubstructOfRef_paren_TypeCmdOptDomV1_746344495710489311<'syan_substruct_ref>: Unparse<__SyanMacro_Atom>,
impl<__SyanMacro_Atom> Unparse<__SyanMacro_Atom> for TypeCmdOptDomV1where
OptionalTypeTok: Unparse<__SyanMacro_Atom>,
ParenGroup<()>: GroupUnparse<__SyanMacro_Atom>,
for<'syan_substruct_ref> __SyanSubstructOfRef_paren_TypeCmdOptDomV1_746344495710489311<'syan_substruct_ref>: Unparse<__SyanMacro_Atom>,
Auto Trait Implementations§
impl Freeze for TypeCmdOptDomV1
impl RefUnwindSafe for TypeCmdOptDomV1
impl Send for TypeCmdOptDomV1
impl Sync for TypeCmdOptDomV1
impl Unpin for TypeCmdOptDomV1
impl UnsafeUnpin for TypeCmdOptDomV1
impl UnwindSafe for TypeCmdOptDomV1
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