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