| error[E0507]: cannot move out of `self` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:13:16 |
| | |
| LL | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Default)] |
| | ----- in this derive macro expansion |
| LL | struct StructA(String); |
| | ^^^^^^ move occurs because `self.0` has type `String`, which does not implement the `Copy` trait |
| | |
| = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour |
| = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | struct StructA(String.clone()); |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `self` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:13:16 |
| | |
| LL | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Default)] |
| | --------- in this derive macro expansion |
| LL | struct StructA(String); |
| | ^^^^^^ move occurs because `self.0` has type `String`, which does not implement the `Copy` trait |
| | |
| = note: `#[derive(PartialEq)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour |
| = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info) |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | struct StructA(String.clone()); |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `other` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:13:16 |
| | |
| LL | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Default)] |
| | --------- in this derive macro expansion |
| LL | struct StructA(String); |
| | ^^^^^^ move occurs because `other.0` has type `String`, which does not implement the `Copy` trait |
| | |
| = note: `#[derive(PartialEq)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour |
| = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info) |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | struct StructA(String.clone()); |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `self` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:13:16 |
| | |
| LL | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Default)] |
| | ---------- in this derive macro expansion |
| LL | struct StructA(String); |
| | ^^^^^^ move occurs because `self.0` has type `String`, which does not implement the `Copy` trait |
| | |
| = note: `#[derive(PartialOrd)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour |
| = note: this error originates in the derive macro `PartialOrd` (in Nightly builds, run with -Z macro-backtrace for more info) |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | struct StructA(String.clone()); |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `other` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:13:16 |
| | |
| LL | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Default)] |
| | ---------- in this derive macro expansion |
| LL | struct StructA(String); |
| | ^^^^^^ move occurs because `other.0` has type `String`, which does not implement the `Copy` trait |
| | |
| = note: `#[derive(PartialOrd)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour |
| = note: this error originates in the derive macro `PartialOrd` (in Nightly builds, run with -Z macro-backtrace for more info) |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | struct StructA(String.clone()); |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `self` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:13:16 |
| | |
| LL | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Default)] |
| | --- in this derive macro expansion |
| LL | struct StructA(String); |
| | ^^^^^^ move occurs because `self.0` has type `String`, which does not implement the `Copy` trait |
| | |
| = note: `#[derive(Ord)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour |
| = note: this error originates in the derive macro `Ord` (in Nightly builds, run with -Z macro-backtrace for more info) |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | struct StructA(String.clone()); |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `other` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:13:16 |
| | |
| LL | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Default)] |
| | --- in this derive macro expansion |
| LL | struct StructA(String); |
| | ^^^^^^ move occurs because `other.0` has type `String`, which does not implement the `Copy` trait |
| | |
| = note: `#[derive(Ord)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour |
| = note: this error originates in the derive macro `Ord` (in Nightly builds, run with -Z macro-backtrace for more info) |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | struct StructA(String.clone()); |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `self` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:13:16 |
| | |
| LL | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Default)] |
| | ---- in this derive macro expansion |
| LL | struct StructA(String); |
| | ^^^^^^ move occurs because `self.0` has type `String`, which does not implement the `Copy` trait |
| | |
| = note: `#[derive(Hash)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour |
| = note: this error originates in the derive macro `Hash` (in Nightly builds, run with -Z macro-backtrace for more info) |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | struct StructA(String.clone()); |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `self` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:13:16 |
| | |
| LL | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Default)] |
| | ----- in this derive macro expansion |
| LL | struct StructA(String); |
| | ^^^^^^ move occurs because `self.0` has type `String`, which does not implement the `Copy` trait |
| | |
| = note: `#[derive(Clone)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour |
| = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | struct StructA(String.clone()); |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `self` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:28:9 |
| | |
| LL | self.0 |
| | ^^^^^^ move occurs because `self.0` has type `String`, which does not implement the `Copy` trait |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | self.0.clone() |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `self` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:38:20 |
| | |
| LL | let x = &{ self.0 }; |
| | ^^^^^^ move occurs because `self.0` has type `String`, which does not implement the `Copy` trait |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | let x = &{ self.0.clone() }; |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `self` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:45:12 |
| | |
| LL | ({ self.0 }) == ({ other.0 }) |
| | ^^^^^^ move occurs because `self.0` has type `String`, which does not implement the `Copy` trait |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | ({ self.0.clone() }) == ({ other.0 }) |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `other` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:45:28 |
| | |
| LL | ({ self.0 }) == ({ other.0 }) |
| | ^^^^^^^ move occurs because `other.0` has type `String`, which does not implement the `Copy` trait |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | ({ self.0 }) == ({ other.0.clone() }) |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `self` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:53:36 |
| | |
| LL | PartialOrd::partial_cmp(&{ self.0 }, &{ other.0 }) |
| | ^^^^^^ move occurs because `self.0` has type `String`, which does not implement the `Copy` trait |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | PartialOrd::partial_cmp(&{ self.0.clone() }, &{ other.0 }) |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `other` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:53:49 |
| | |
| LL | PartialOrd::partial_cmp(&{ self.0 }, &{ other.0 }) |
| | ^^^^^^^ move occurs because `other.0` has type `String`, which does not implement the `Copy` trait |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | PartialOrd::partial_cmp(&{ self.0 }, &{ other.0.clone() }) |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `self` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:68:20 |
| | |
| LL | let x = &{ self.0 }; |
| | ^^^^^^ move occurs because `self.0` has type `String`, which does not implement the `Copy` trait |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | let x = &{ self.0.clone() }; |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `self` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:75:12 |
| | |
| LL | ({ self.0 }) == ({ other.0 }) |
| | ^^^^^^ move occurs because `self.0` has type `String`, which does not implement the `Copy` trait |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | ({ self.0.clone() }) == ({ other.0 }) |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `other` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:75:28 |
| | |
| LL | ({ self.0 }) == ({ other.0 }) |
| | ^^^^^^^ move occurs because `other.0` has type `String`, which does not implement the `Copy` trait |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | ({ self.0 }) == ({ other.0.clone() }) |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `self` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:83:36 |
| | |
| LL | PartialOrd::partial_cmp(&{ self.0 }, &{ other.0 }) |
| | ^^^^^^ move occurs because `self.0` has type `String`, which does not implement the `Copy` trait |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | PartialOrd::partial_cmp(&{ self.0.clone() }, &{ other.0 }) |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `other` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:83:49 |
| | |
| LL | PartialOrd::partial_cmp(&{ self.0 }, &{ other.0 }) |
| | ^^^^^^^ move occurs because `other.0` has type `String`, which does not implement the `Copy` trait |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | PartialOrd::partial_cmp(&{ self.0 }, &{ other.0.clone() }) |
| | ++++++++ |
| |
| error[E0507]: cannot move out of `arg` which is behind a shared reference |
| --> $DIR/deriving-with-repr-packed-move-errors.rs:92:5 |
| | |
| LL | arg.0 |
| | ^^^^^ move occurs because `arg.0` has type `String`, which does not implement the `Copy` trait |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | arg.0.clone() |
| | ++++++++ |
| |
| error: aborting due to 21 previous errors |
| |
| For more information about this error, try `rustc --explain E0507`. |