pub struct Directives<P: Phase> { /* private fields */ }Expand description
A directive collection at a specific pipeline phase.
The phase is a phantom marker — the runtime representation is the
same Vec<Spanned<Directive>> regardless of P. Transitions
between phases are the only way to advance: see the impl
blocks in process.rs for each phase’s allowed next step.
Constructed only via Directives::from_parser (which produces
Directives<Raw>). Subsequent phases are reached by calling
the relevant transition methods in order.
Implementations§
Source§impl<P: Phase> Directives<P>
impl<P: Phase> Directives<P>
Source§impl Directives<Raw>
impl Directives<Raw>
Sourcepub const fn from_parser(directives: Vec<Spanned<Directive>>) -> Self
pub const fn from_parser(directives: Vec<Spanned<Directive>>) -> Self
Entry point into the pipeline: wrap a parser-produced
directive list as Directives<Raw>. The only public
constructor — every other phase is reachable only via
transitions from a prior phase.
Source§impl Directives<Finalized>
impl Directives<Finalized>
Sourcepub fn into_inner(self) -> Vec<Spanned<Directive>>
pub fn into_inner(self) -> Vec<Spanned<Directive>>
Exit point: consume the finalized collection and return the
underlying Vec. The only way to extract Vec<Spanned<Directive>>
from the pipeline. Downstream code (Ledger.directives) only
sees fully-processed output.
Trait Implementations§
Auto Trait Implementations§
impl<P> Freeze for Directives<P>
impl<P> RefUnwindSafe for Directives<P>where
P: RefUnwindSafe,
impl<P> Send for Directives<P>where
P: Send,
impl<P> Sync for Directives<P>where
P: Sync,
impl<P> Unpin for Directives<P>where
P: Unpin,
impl<P> UnsafeUnpin for Directives<P>
impl<P> UnwindSafe for Directives<P>where
P: UnwindSafe,
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
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>
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>
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.