Skip to main content

ChildOccurrence

Trait ChildOccurrence 

Source
pub trait ChildOccurrence<Parent: Behavior>: Sized {
    type Resolution: ChildOccurrenceResolution<Parent, Self>;
}
Expand description

Declares how one effect occurrence is resolved from an authored parent.

This is topology metadata, not actor identity or a runtime capability. Generated nominal roles implement it with their declared parent, child, and structural position. ChildHead and ChildTail implement it as raw structural positions. Consumers normally use ResolveChildOccurrence rather than inspecting Resolution.

Manually authored roles may implement this trait as the power-user path by selecting DeclaredChildOccurrence with the same relationship expressed by their ChildRole implementation. The actual resolution contract is sealed, so downstream code cannot redefine wrapper transparency or replace structural resolution with a runtime lookup.

Required Associated Types§

Source

type Resolution: ChildOccurrenceResolution<Parent, Self>

Sealed descriptor interpreted by ResolveChildOccurrence.

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<Parent: Behavior> ChildOccurrence<Parent> for ChildHead

Source§

type Resolution = StructuralChildOccurrence<ChildHead>

Source§

impl<Parent: Behavior, Position> ChildOccurrence<Parent> for ChildTail<Position>

Source§

type Resolution = StructuralChildOccurrence<ChildTail<Position>>