mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-01 08:53:29 +00:00
21 lines
1.1 KiB
Plaintext
21 lines
1.1 KiB
Plaintext
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`.
|