pub trait Controls<E: Event> { // Required method fn events(&mut self) -> Vec<E>; }
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".