| struct MutType; |
| |
| pub trait MutTrait { |
| fn function(&mut self) |
| where |
| Self: Sized; |
| } |
| |
| impl MutTrait for MutType { |
| fn function(&mut self) {} |
| } |
| |
| struct Type; |
| |
| pub trait Trait { |
| fn function(&self) |
| where |
| Self: Sized; |
| } |
| |
| impl Trait for Type { |
| fn function(&self) {} |
| } |
| |
| fn main() { |
| (&MutType as &dyn MutTrait).function(); |
| //~^ ERROR the `function` method cannot be invoked on `&dyn MutTrait` |
| //~| HELP you need `&mut dyn MutTrait` instead of `&dyn MutTrait` |
| (&mut Type as &mut dyn Trait).function(); |
| //~^ ERROR the `function` method cannot be invoked on `&mut dyn Trait` |
| //~| HELP you need `&dyn Trait` instead of `&mut dyn Trait` |
| } |