pub struct SigAnnotV1 {
pub coerce: CoerceTok,
pub sig_: SigExprErasedV1,
}Expand description
COERCE sigexpr — a signature annotation :> S (sig_annot,
parser_v1.mly:555-557). 0.1’s annotation sigil is :> (COERCE,
lexer_v1.mll:280), NOT 0.0.6’s : sig … end (crate::cst::SigAnnot,
cst.rs:295-303) — module M : S = … is a 0.1 parse error (pinned in
tests). The signature body goes through SigExprErasedV1: SigAnnotV1
lives outside the #[recurse] module, so this is a cross-boundary edge
into the SigExpr root (see the module doc comment’s SCC story).
Fields§
§coerce: CoerceTok§sig_: SigExprErasedV1Trait Implementations§
Source§impl Clone for SigAnnotV1
impl Clone for SigAnnotV1
Source§fn clone(&self) -> SigAnnotV1
fn clone(&self) -> SigAnnotV1
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 SigAnnotV1
impl Debug for SigAnnotV1
Source§impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for SigAnnotV1
impl<__SyanMacro_Atom> Parse<__SyanMacro_Atom> for SigAnnotV1
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 SigAnnotV1
impl PartialEq for SigAnnotV1
impl StructuralPartialEq for SigAnnotV1
Source§impl<__SyanMacro_Atom> Unparse<__SyanMacro_Atom> for SigAnnotV1
impl<__SyanMacro_Atom> Unparse<__SyanMacro_Atom> for SigAnnotV1
Auto Trait Implementations§
impl Freeze for SigAnnotV1
impl RefUnwindSafe for SigAnnotV1
impl Send for SigAnnotV1
impl Sync for SigAnnotV1
impl Unpin for SigAnnotV1
impl UnsafeUnpin for SigAnnotV1
impl UnwindSafe for SigAnnotV1
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