//! Trait objects only allow access to methods defined in the trait. trait MyTrait { fn trait_method(&mut self); } struct ImplType; impl MyTrait for ImplType { fn trait_method(&mut self) {} } impl ImplType { fn struct_impl_method(&mut self) {} } fn main() { let obj: Box = Box::new(ImplType); obj.struct_impl_method(); //~ ERROR no method named `struct_impl_method` found }