pub trait ChildOccurrenceProduct<Shape>: BirthNodewhere
Shape: ChildOccurrenceShape,{
type Product;
}Expand description
Sealed occurrence product of a closed direct-child birth node.
The product starts at ChildHead and advances through
ChildTail<Position> in exactly the same way as DispatchBirth and
ChildPosition. A downstream runtime selects only the result shape
through ChildOccurrenceShape; it cannot reclassify a foreign type as a
birth node or replace the recursion.
This product is intentionally direct rather than transitive. Each installed
actor owns the bindings for its own Behavior::Birth; when a concrete child
is installed, the same product law applies to that child’s birth algebra.
Foreign types cannot extend the closed node algebra:
ⓘ
struct RuntimeShape;
impl behavior::ChildOccurrenceShape for RuntimeShape {
type Empty = ();
}
impl<Occurrence, Child: behavior::Behavior, Tail>
behavior::ChildOccurrenceMember<Occurrence, Child, Tail> for RuntimeShape
{
type Member = ();
}
struct ForeignNode;
impl behavior::ChildOccurrenceProduct<RuntimeShape> for ForeignNode {
type Product = ();
}Required Associated Types§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".