pub struct OptArgsV1 {
pub q: OptionalTypeTok,
pub paren: ParenGroup<()>,
pub entries: Vec<OptArgEntryV1>,
}Expand description
A ?(l = e, …) labeled-optional application bundle: the ? sigil
(reusing OptionalTypeTok), then a paren group of ,-separated
label = expr entries (non-empty enforced at lowering).
Fields§
§q: OptionalTypeTok§paren: ParenGroup<()>§entries: Vec<OptArgEntryV1>Trait Implementations§
Source§impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for OptArgsV1where
__SyanMacro_Atom: Spanned + Clone,
OptionalTypeTok: Parse<__SyanMacro_Atom>,
ParenGroup<()>: GroupShape<__SyanMacro_Atom>,
__SyanSubstructOfOwn_paren_OptArgsV1_17677086792962917609: Parse<__SyanMacro_Atom>,
impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for OptArgsV1where
__SyanMacro_Atom: Spanned + Clone,
OptionalTypeTok: Parse<__SyanMacro_Atom>,
ParenGroup<()>: GroupShape<__SyanMacro_Atom>,
__SyanSubstructOfOwn_paren_OptArgsV1_17677086792962917609: 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
impl StructuralPartialEq for OptArgsV1
Source§impl<__SyanMacro_Atom> Unparse<__SyanMacro_Atom> for OptArgsV1where
OptionalTypeTok: Unparse<__SyanMacro_Atom>,
ParenGroup<()>: GroupUnparse<__SyanMacro_Atom>,
for<'syan_substruct_ref> __SyanSubstructOfRef_paren_OptArgsV1_17677086792962917609<'syan_substruct_ref>: Unparse<__SyanMacro_Atom>,
impl<__SyanMacro_Atom> Unparse<__SyanMacro_Atom> for OptArgsV1where
OptionalTypeTok: Unparse<__SyanMacro_Atom>,
ParenGroup<()>: GroupUnparse<__SyanMacro_Atom>,
for<'syan_substruct_ref> __SyanSubstructOfRef_paren_OptArgsV1_17677086792962917609<'syan_substruct_ref>: Unparse<__SyanMacro_Atom>,
Auto Trait Implementations§
impl Freeze for OptArgsV1
impl RefUnwindSafe for OptArgsV1
impl Send for OptArgsV1
impl Sync for OptArgsV1
impl Unpin for OptArgsV1
impl UnsafeUnpin for OptArgsV1
impl UnwindSafe for OptArgsV1
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