pub enum BodyFragment {
PolydatSource(String),
Statements(Vec<Statement>),
}Expand description
Body fragment — what the builder accepts via
super::SubcontextBuilder::body.
See subcontext_construction.md §2.1. PolydatSource is for user-facing
bindings: / result: content (parsed at finalize);
Statements is for synthesisers that already produce GK
programmatically.
Variants§
PolydatSource(String)
User-facing Polydat source. Parsed via the existing
lexer + parser pipeline at finalize.
Statements(Vec<Statement>)
Pre-parsed statements — submitted directly without
round-tripping through Polydat source strings. Reuses
Statement from the existing AST, so synthesisers
don’t carry a parallel enum.
Trait Implementations§
Source§impl Clone for BodyFragment
impl Clone for BodyFragment
Auto Trait Implementations§
impl Freeze for BodyFragment
impl RefUnwindSafe for BodyFragment
impl Send for BodyFragment
impl Sync for BodyFragment
impl Unpin for BodyFragment
impl UnsafeUnpin for BodyFragment
impl UnwindSafe for BodyFragment
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more