pub struct AppArgErased(pub Box<AppArg>);Expand description
An ast::AppArg behind a stream-erasing parse (see above). Bridges
a command tail’s argument chain (CmdTail::Args, below) into
AppArg’s own parser without a direct field reference: CmdTail is
reached from Expr’s SCC via Atomic::InlineText/BlockText ->
InlineElem/BlockElem -> CmdTail, so a direct AppArg field
here would close a brand-new cycle back into Atomic
(AppArg::Atom.atom: Atomic) entirely through non-root types — the
exact “sub-cycle running entirely through non-root types” shape the
#[recurse] engine rejects (see PatCons’s doc comment for the same
hazard). Routing through this eraser keeps CmdTail a DAG leaf, same
as every other cross-reference here.
Tuple Fields§
§0: Box<AppArg>Trait Implementations§
Source§impl Clone for AppArgErased
impl Clone for AppArgErased
Source§fn clone(&self) -> AppArgErased
fn clone(&self) -> AppArgErased
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 AppArgErased
impl Debug for AppArgErased
Source§impl Deref for AppArgErased
impl Deref for AppArgErased
impl Deref for AppArgErased
Source§impl Parse<WithSpan<Token, Span>> for AppArgErased
impl Parse<WithSpan<Token, Span>> for AppArgErased
Source§type Error = ParseError<Span>
type Error = ParseError<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<S: ParseStream<Atom = Atom>>(
stream: &mut S,
) -> Result<Self, Self::Error>
fn parse_stream<S: ParseStream<Atom = Atom>>( stream: &mut S, ) -> Result<Self, Self::Error>
Parse from a reborrowable stream. Read more
Source§impl PartialEq for AppArgErased
impl PartialEq for AppArgErased
impl StructuralPartialEq for AppArgErased
Auto Trait Implementations§
impl Freeze for AppArgErased
impl RefUnwindSafe for AppArgErased
impl Send for AppArgErased
impl Sync for AppArgErased
impl Unpin for AppArgErased
impl UnsafeUnpin for AppArgErased
impl UnwindSafe for AppArgErased
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