pub struct PullPlan { /* private fields */ }Expand description
Sealed init-time plan. One entry per unique name registered.
Owns an Arc<PolydatProgram> so cycle-time resolve only needs the
per-fiber state.
Implementations§
Source§impl PullPlan
impl PullPlan
Sourcepub fn names(&self) -> Vec<&str>
pub fn names(&self) -> Vec<&str>
The names in the plan, in registration order. Diagnostic only.
Sourcepub fn program(&self) -> &Arc<PolydatProgram> ⓘ
pub fn program(&self) -> &Arc<PolydatProgram> ⓘ
The program this plan was sealed against.
Sourcepub fn resolve(&self, kernel: &mut dyn Kernel) -> ResolvedPulls
pub fn resolve(&self, kernel: &mut dyn Kernel) -> ResolvedPulls
Materialize every entry against kernel, a kernel of this
plan’s program on any engine (its indices are the program’s).
Output entries go through pull_at (eval cone if not current);
input entries through input_value_at (cell-aware for shared
slots).
O(plan_len) on the hot path — no name hashing.
Sourcepub fn resolve_with(&self, kernel: &mut ScopeKernel) -> ResolvedPulls
pub fn resolve_with(&self, kernel: &mut ScopeKernel) -> ResolvedPulls
Convenience: resolve against a scope kernel. Provided so test scaffolding and other ergonomic call sites don’t have to name the trait object.
Auto Trait Implementations§
impl !RefUnwindSafe for PullPlan
impl !UnwindSafe for PullPlan
impl Freeze for PullPlan
impl Send for PullPlan
impl Sync for PullPlan
impl Unpin for PullPlan
impl UnsafeUnpin for PullPlan
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> 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