pub struct TypeCmdArgItemV1 {
pub opts: Option<TypeCmdOptDomV1>,
pub ty: TyErasedV1,
pub comma: Option<CommaTok>,
}Expand description
One […]-bracketed command-type argument slot: an optional
?(l : τ, …) labeled-optional bundle PREFIX (upstream
typ_cmd_arg : option(typ_opt_dom) typ_prod,
parser.mly:753-773), then the mandatory τ, (,-separated, last
, optional — the ListItem pattern). A full super::TyErasedV1 per
slot (permissive superset of upstream’s narrower typ_prod). opts
is Option-tried first: a non-?-headed slot fails the ? head with
no token stolen, so a plain slot parses opts: None.
Fields§
§opts: Option<TypeCmdOptDomV1>§ty: TyErasedV1§comma: Option<CommaTok>Trait Implementations§
Source§impl Clone for TypeCmdArgItemV1
impl Clone for TypeCmdArgItemV1
Source§fn clone(&self) -> TypeCmdArgItemV1
fn clone(&self) -> TypeCmdArgItemV1
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 TypeCmdArgItemV1
impl Debug for TypeCmdArgItemV1
Source§impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for TypeCmdArgItemV1where
__SyanMacro_Atom: Spanned + Clone,
Option<TypeCmdOptDomV1>: Parse<__SyanMacro_Atom>,
TyErasedV1: Parse<__SyanMacro_Atom>,
Option<CommaTok>: Parse<__SyanMacro_Atom>,
impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for TypeCmdArgItemV1where
__SyanMacro_Atom: Spanned + Clone,
Option<TypeCmdOptDomV1>: Parse<__SyanMacro_Atom>,
TyErasedV1: Parse<__SyanMacro_Atom>,
Option<CommaTok>: 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 TypeCmdArgItemV1
impl PartialEq for TypeCmdArgItemV1
impl StructuralPartialEq for TypeCmdArgItemV1
Source§impl<__SyanMacro_Atom> Unparse<__SyanMacro_Atom> for TypeCmdArgItemV1where
Option<TypeCmdOptDomV1>: Unparse<__SyanMacro_Atom>,
TyErasedV1: Unparse<__SyanMacro_Atom>,
Option<CommaTok>: Unparse<__SyanMacro_Atom>,
impl<__SyanMacro_Atom> Unparse<__SyanMacro_Atom> for TypeCmdArgItemV1where
Option<TypeCmdOptDomV1>: Unparse<__SyanMacro_Atom>,
TyErasedV1: Unparse<__SyanMacro_Atom>,
Option<CommaTok>: Unparse<__SyanMacro_Atom>,
Auto Trait Implementations§
impl Freeze for TypeCmdArgItemV1
impl RefUnwindSafe for TypeCmdArgItemV1
impl Send for TypeCmdArgItemV1
impl Sync for TypeCmdArgItemV1
impl Unpin for TypeCmdArgItemV1
impl UnsafeUnpin for TypeCmdArgItemV1
impl UnwindSafe for TypeCmdArgItemV1
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