| error[E0382]: borrow of moved value: `start` |
| --> $DIR/ownership-struct-update-moved-error.rs:18:20 |
| | |
| LL | let start = Mine { test: "Foo".to_string(), other_val: 0 }; |
| | ----- move occurs because `start` has type `Mine`, which does not implement the `Copy` trait |
| LL | let end = Mine { other_val: 1, ..start.make_string_bar() }; |
| | ----------------- `start` moved due to this method call |
| LL | println!("{}", start.test); |
| | ^^^^^^^^^^ value borrowed here after move |
| | |
| note: `Mine::make_string_bar` takes ownership of the receiver `self`, which moves `start` |
| --> $DIR/ownership-struct-update-moved-error.rs:9:28 |
| | |
| LL | fn make_string_bar(mut self) -> Mine { |
| | ^^^^ |
| = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0382`. |