pub struct PlacementForkPathfinder;Expand description
The PR-A4 deliberate-fork pathfinder, re-expressed as a registered
Pathfinder. Scans the ranked plan for nodes the placement DP /
ranker admitted with ≥2 distinct (backend, device) placements —
a genuine placement choice — and records each as ONE Op::Branch via
the fuel-graph A1 builders (arm-0 = the DP winner, arm-1 = the
runner-up clone, orphaned so the live data flow is untouched and the
realize result is identical).
This is the same logic the pre-B3 seed_placement_fork_branches
free function ran — moved verbatim behind the trait. The
deliberate-fork gate (real ≥2-placement choice, a producer to
diverge from, exactly one consumer to reconverge at) is unchanged, so
the fewness gate still holds and a CPU-only build emits zero branches.
No DEFAULT_MAX_N / fixed top-N anywhere — the bound is the
per-device frontier the plan already carries; this pass reads the
winner + the first distinct-placement runner-up off that set.
Trait Implementations§
Source§impl Pathfinder for PlacementForkPathfinder
impl Pathfinder for PlacementForkPathfinder
Auto Trait Implementations§
impl Freeze for PlacementForkPathfinder
impl RefUnwindSafe for PlacementForkPathfinder
impl Send for PlacementForkPathfinder
impl Sync for PlacementForkPathfinder
impl Unpin for PlacementForkPathfinder
impl UnsafeUnpin for PlacementForkPathfinder
impl UnwindSafe for PlacementForkPathfinder
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
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> ⓘ
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 more