pub trait Source { type Queue<E: Event, C: Count>: Queue<Event = E, Capacity = C>; }
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".