| error[E0382]: use of moved value: `self` |
| --> $DIR/use-after-move-self.rs:10:16 |
| | |
| LL | pub fn foo(self) -> isize { |
| | ---- move occurs because `self` has type `S`, which does not implement the `Copy` trait |
| LL | self.bar(); |
| | ----- `self` moved due to this method call |
| LL | return *self.x; |
| | ^^^^^^^ value used here after move |
| | |
| note: `S::bar` takes ownership of the receiver `self`, which moves `self` |
| --> $DIR/use-after-move-self.rs:13:16 |
| | |
| LL | pub fn bar(self) {} |
| | ^^^^ |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0382`. |