pub trait Sub { // Required method fn sub(&self, other: &Self) -> Self; }
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".