pub enum AppArg {
Bundled {
opts: OptArgsV1,
excl: Option<UnopExclamTok>,
atom: Atomic,
accesses: Vec<AccessSeg>,
},
BundledCtor {
opts: OptArgsV1,
ctor: CtorTok,
},
Atom {
stage: Option<StagePrefix>,
excl: Option<UnopExclamTok>,
atom: Atomic,
accesses: Vec<AccessSeg>,
},
Ctor(CtorTok),
}Expand description
One application-chain argument. 0.1 delta: the 0.0.6 ?:/?*
(Optional/Omission) forms are gone — SATySFi 0.1 dropped the fused
?: sigil (?:/?* now lex as ? + :/*, a downstream parse
error), replaced by the labeled ?(l = e, …) bundle
(AppArg::Bundled).
Variants§
Bundled
?(l = e, …) atom — a labeled-optional bundle paired with the
positional argument it precedes (pairing them rejects a dangling
trailing bundle at parse time). ?(-headed, token-disjoint from
the Atom/Ctor arms.
BundledCtor
?(l = e, …) Ctor — as AppArg::Bundled but the positional
argument is a bare constructor.
Atom
Ctor(CtorTok)
Trait Implementations§
Source§impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for AppArg
impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for AppArg
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 AppArg
Auto Trait Implementations§
impl Freeze for AppArg
impl RefUnwindSafe for AppArg
impl Send for AppArg
impl Sync for AppArg
impl Unpin for AppArg
impl UnsafeUnpin for AppArg
impl UnwindSafe for AppArg
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