pub trait Shift<T> { // Required method fn shift(&mut self) -> Option<T>; }
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".