Trait XpSystemExtensions

Source
pub trait XpSystemExtensions
where Self: Sized,
{ type Via: XpSystem; }
Expand description

Root trait for XP system extensions.

Exposes the underlying XP system (Self::Via) to extension traits (e.g., listeners) without tying them to a concrete implementation.

Via is only required to implement XpSystem here (the base contract). Additional XP capabilities (e.g., XpOwner, XpMutate) can be required by further bounding Via in downstream traits.

§Example

pub trait XpOwnerListener
where
    Self: XpSystemExtensions,
    Self::Via: XpOwner<Self>,
{}

Required Associated Types§

Source

type Via: XpSystem

The concrete XP system implementation. Possibly post-bounded to provide support for additional XP trait implementations.

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<T> XpSystemExtensions for Ignore<T>
where Self: Sized, T: XpSystem,

Source§

type Via = T