pub trait Mul: Binary + for<'a> MulAssign<&'a Self::Rhs> { }
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".