mirror of
https://github.com/rust-lang/rust
synced 2024-11-05 20:45:15 +00:00
41e8d152dc
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
20 lines
1 KiB
Text
20 lines
1 KiB
Text
error[E0382]: borrow of moved value: `start`
|
|
--> $DIR/walk-struct-literal-with.rs:16: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/walk-struct-literal-with.rs:7: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`.
|