| struct MutType; |
| |
| pub trait MutTrait { |
| fn function(&mut self) |
| where |
| Self: Sized; |
| //~^ NOTE this has a `Sized` requirement |
| } |
| |
| impl MutTrait for MutType { |
| fn function(&mut self) {} |
| } |
| |
| struct Type; |
| |
| pub trait Trait { |
| fn function(&self) |
| where |
| Self: Sized; |
| //~^ NOTE this has a `Sized` requirement |
| } |
| |
| impl Trait for Type { |
| fn function(&self) {} |
| } |
| |
| fn main() { |
| (&mut MutType as &mut dyn MutTrait).function(); |
| //~^ ERROR the `function` method cannot be invoked on a trait object |
| (&Type as &dyn Trait).function(); |
| //~^ ERROR the `function` method cannot be invoked on a trait object |
| } |