Skip to main content

FinishShutdownPhases

Trait FinishShutdownPhases 

Source
pub trait FinishShutdownPhases: Sized {
    type Output;

    // Required method
    fn finish(self) -> Self::Output;
}
Expand description

Generic consumer operation for finishing a complete shutdown declaration.

This trait is implemented only after every declared direct child has been assigned exactly once. Its associated output preserves the complete heterogeneous coordinator type without asking a framework to reproduce the builder’s typestate vocabulary.

Required Associated Types§

Required Methods§

Source

fn finish(self) -> Self::Output

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<B, Available, Phases> FinishShutdownPhases for ChildShutdownPhases<B, Available, Phases>
where B: Behavior, B::Birth: BirthMode, Available: AllAssigned, <B::Birth as BirthMode>::Child: ChildOccurrenceProduct<ShutdownTargets<B>>, Phases: BuildShutdownPlan<B, ChildOccurrences<<<B as Behavior>::Birth as BirthMode>::Child, ShutdownTargets<B>>>, ChildOccurrences<<<B as Behavior>::Birth as BirthMode>::Child, ShutdownTargets<B>>: Selection<Addr = BehaviorAddr<B>> + Copy, <BehaviorAddr<B> as Address>::Nonce: Copy + Eq, ChildShutdownPlan<B, Phases>: Behavior<Protocol = B::Protocol>,

Source§

type Output = HeterogeneousShutdownCoordinator<ChildShutdownPlan<B, Phases>, <<<B as Behavior>::Birth as BirthMode>::Child as ChildOccurrenceProduct<ShutdownTargets<B>>>::Product>