Hey it's not senseless. Rust doesn't have subtyping (except for lifetimes), and specially not subtyping between a parent class and its child. This is on purpose. Subtyping is required for the usual class based OOP but greatly complicates type inference.
However, we don't have yet means to emulate downcasting for trait objects, except by using the Any trait (which is a footgun). Until then, class based OOP is more expressive than whatever Rust is doing now.
However, we don't have yet means to emulate downcasting for trait objects, except by using the Any trait (which is a footgun). Until then, class based OOP is more expressive than whatever Rust is doing now.