pub struct ExtensionDefinition {
pub name: String,
pub category: String,
pub members: Vec<ExtensionMember>,
pub loc: Loc,
pub leading_trivia: Vec<Trivia>,
pub trailing_trivia: Vec<Trivia>,
}Expand description
extension Name { category: effects|scan, members: [ "x" : { … }, … ] }
§Fase 53. A first-class, auditable + gateable declaration that expands a closed catalog with adopter-specific PROVENANCE members. Soundness invariants (validated in §53.c/§53.d): members are provenance-class only (never the enforceable effect set), must not shadow a canonical base/category, and ride in the IR + proof bundle so an independent PCC verifier re-derives against the same artifact.
Fields§
§name: String§category: Stringeffects | scan — validated against the closed category set
in §53.c (the type-checker), not the parser.
members: Vec<ExtensionMember>§loc: Loc§leading_trivia: Vec<Trivia>Fase 14.b — leading comment trivia. Empty by default.
trailing_trivia: Vec<Trivia>Fase 14.b — trailing comment trivia. Empty by default.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ExtensionDefinition
impl RefUnwindSafe for ExtensionDefinition
impl Send for ExtensionDefinition
impl Sync for ExtensionDefinition
impl Unpin for ExtensionDefinition
impl UnsafeUnpin for ExtensionDefinition
impl UnwindSafe for ExtensionDefinition
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.