blob: 5550e097cf55461d2f78159b426e009fcb918f06 [file] [log] [blame]
error[E0507]: cannot move out of `s.0` which is behind a shared reference
--> $DIR/simple.rs:38:17
|
LL | let X(_t) = *s;
| -- ^^ help: consider borrowing here: `&*s`
| |
| data moved here
| move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
error[E0507]: cannot move out of `r.0` which is behind a shared reference
--> $DIR/simple.rs:42:30
|
LL | if let Either::One(_t) = *r { }
| -- ^^ help: consider borrowing here: `&*r`
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of `r.0` which is behind a shared reference
--> $DIR/simple.rs:46:33
|
LL | while let Either::One(_t) = *r { }
| -- ^^ help: consider borrowing here: `&*r`
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of `r.0` which is behind a shared reference
--> $DIR/simple.rs:50:11
|
LL | match *r {
| ^^ help: consider borrowing here: `&*r`
...
LL | Either::One(_t)
| --
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of `r.0` which is behind a shared reference
--> $DIR/simple.rs:57:11
|
LL | match *r {
| ^^ help: consider borrowing here: `&*r`
...
LL | Either::One(_t) => (),
| --
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of `sm.0` which is behind a mutable reference
--> $DIR/simple.rs:66:17
|
LL | let X(_t) = *sm;
| -- ^^^ help: consider borrowing here: `&*sm`
| |
| data moved here
| move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
error[E0507]: cannot move out of `rm.0` which is behind a mutable reference
--> $DIR/simple.rs:70:30
|
LL | if let Either::One(_t) = *rm { }
| -- ^^^ help: consider borrowing here: `&*rm`
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of `rm.0` which is behind a mutable reference
--> $DIR/simple.rs:74:33
|
LL | while let Either::One(_t) = *rm { }
| -- ^^^ help: consider borrowing here: `&*rm`
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of `rm.0` which is behind a mutable reference
--> $DIR/simple.rs:78:11
|
LL | match *rm {
| ^^^ help: consider borrowing here: `&*rm`
...
LL | Either::One(_t)
| --
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of `rm.0` which is behind a mutable reference
--> $DIR/simple.rs:85:11
|
LL | match *rm {
| ^^^ help: consider borrowing here: `&*rm`
...
LL | Either::One(_t) => (),
| --
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of `rm.0` which is behind a mutable reference
--> $DIR/simple.rs:93:11
|
LL | match *rm {
| ^^^ help: consider borrowing here: `&*rm`
...
LL | Either::One(_t) => (),
| --
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of index of `std::vec::Vec<X>`
--> $DIR/simple.rs:102:17
|
LL | let X(_t) = vs[0];
| -- ^^^^^ help: consider borrowing here: `&vs[0]`
| |
| data moved here
| move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
error[E0507]: cannot move out of index of `std::vec::Vec<Either>`
--> $DIR/simple.rs:106:30
|
LL | if let Either::One(_t) = vr[0] { }
| -- ^^^^^ help: consider borrowing here: `&vr[0]`
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of index of `std::vec::Vec<Either>`
--> $DIR/simple.rs:110:33
|
LL | while let Either::One(_t) = vr[0] { }
| -- ^^^^^ help: consider borrowing here: `&vr[0]`
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of index of `std::vec::Vec<Either>`
--> $DIR/simple.rs:114:11
|
LL | match vr[0] {
| ^^^^^ help: consider borrowing here: `&vr[0]`
...
LL | Either::One(_t)
| --
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of index of `std::vec::Vec<Either>`
--> $DIR/simple.rs:121:11
|
LL | match vr[0] {
| ^^^^^ help: consider borrowing here: `&vr[0]`
...
LL | Either::One(_t) => (),
| --
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of index of `std::vec::Vec<X>`
--> $DIR/simple.rs:130:17
|
LL | let X(_t) = vsm[0];
| -- ^^^^^^ help: consider borrowing here: `&vsm[0]`
| |
| data moved here
| move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
error[E0507]: cannot move out of index of `std::vec::Vec<Either>`
--> $DIR/simple.rs:134:30
|
LL | if let Either::One(_t) = vrm[0] { }
| -- ^^^^^^ help: consider borrowing here: `&vrm[0]`
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of index of `std::vec::Vec<Either>`
--> $DIR/simple.rs:138:33
|
LL | while let Either::One(_t) = vrm[0] { }
| -- ^^^^^^ help: consider borrowing here: `&vrm[0]`
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of index of `std::vec::Vec<Either>`
--> $DIR/simple.rs:142:11
|
LL | match vrm[0] {
| ^^^^^^ help: consider borrowing here: `&vrm[0]`
...
LL | Either::One(_t)
| --
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of index of `std::vec::Vec<Either>`
--> $DIR/simple.rs:149:11
|
LL | match vrm[0] {
| ^^^^^^ help: consider borrowing here: `&vrm[0]`
...
LL | Either::One(_t) => (),
| --
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of index of `std::vec::Vec<Either>`
--> $DIR/simple.rs:157:11
|
LL | match vrm[0] {
| ^^^^^^ help: consider borrowing here: `&vrm[0]`
...
LL | Either::One(_t) => (),
| --
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of `s.0` which is behind a shared reference
--> $DIR/simple.rs:168:18
|
LL | let &X(_t) = s;
| ------ ^
| | |
| | data moved here
| | move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
| help: consider removing the `&`: `X(_t)`
error[E0507]: cannot move out of `r.0` which is behind a shared reference
--> $DIR/simple.rs:172:31
|
LL | if let &Either::One(_t) = r { }
| ---------------- ^
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&`: `Either::One(_t)`
error[E0507]: cannot move out of `r.0` which is behind a shared reference
--> $DIR/simple.rs:176:34
|
LL | while let &Either::One(_t) = r { }
| ---------------- ^
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&`: `Either::One(_t)`
error[E0507]: cannot move out of `r.0` which is behind a shared reference
--> $DIR/simple.rs:180:11
|
LL | match r {
| ^
LL |
LL | &Either::One(_t)
| --
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
|
help: consider removing the `&`
|
LL | Either::One(_t)
LL |
LL |
LL | | &Either::Two(_t) => (),
|
error[E0507]: cannot move out of `r.0` which is behind a shared reference
--> $DIR/simple.rs:188:11
|
LL | match r {
| ^
LL |
LL | &Either::One(_t) => (),
| ----------------
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&`: `Either::One(_t)`
error[E0507]: cannot move out of `r.0` which is behind a shared reference
--> $DIR/simple.rs:195:11
|
LL | match r {
| ^
LL |
LL | &Either::One(_t) => (),
| ----------------
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&`: `Either::One(_t)`
error[E0507]: cannot move out of `sm.0` which is behind a mutable reference
--> $DIR/simple.rs:207:22
|
LL | let &mut X(_t) = sm;
| ---------- ^^
| | |
| | data moved here
| | move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
| help: consider removing the `&mut`: `X(_t)`
error[E0507]: cannot move out of `rm.0` which is behind a mutable reference
--> $DIR/simple.rs:211:35
|
LL | if let &mut Either::One(_t) = rm { }
| -------------------- ^^
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&mut`: `Either::One(_t)`
error[E0507]: cannot move out of `rm.0` which is behind a mutable reference
--> $DIR/simple.rs:215:38
|
LL | while let &mut Either::One(_t) = rm { }
| -------------------- ^^
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&mut`: `Either::One(_t)`
error[E0507]: cannot move out of `rm.0` which is behind a mutable reference
--> $DIR/simple.rs:219:11
|
LL | match rm {
| ^^
LL |
LL | &mut Either::One(_t) => (),
| -- data moved here
...
LL | &mut Either::Two(_t) => (),
| -- ...and here
|
= note: move occurs because these variables have types that don't implement the `Copy` trait
help: consider removing the `&mut`
|
LL | Either::One(_t) => (),
| ^^^^^^^^^^^^^^^
help: consider removing the `&mut`
|
LL | Either::Two(_t) => (),
| ^^^^^^^^^^^^^^^
error[E0507]: cannot move out of `rm.0` which is behind a mutable reference
--> $DIR/simple.rs:228:11
|
LL | match rm {
| ^^
LL |
LL | &mut Either::One(_t) => (),
| --------------------
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&mut`: `Either::One(_t)`
error[E0507]: cannot move out of `rm.0` which is behind a mutable reference
--> $DIR/simple.rs:235:11
|
LL | match rm {
| ^^
LL |
LL | &mut Either::One(_t) => (),
| --------------------
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&mut`: `Either::One(_t)`
error[E0507]: cannot move out of `rm.0` which is behind a mutable reference
--> $DIR/simple.rs:242:11
|
LL | match rm {
| ^^
LL |
LL | &mut Either::One(_t) => (),
| --------------------
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&mut`: `Either::One(_t)`
error[E0507]: cannot move out of a shared reference
--> $DIR/simple.rs:258:21
|
LL | let (&X(_t),) = (&x.clone(),);
| -- ^^^^^^^^^^^^^
| |
| data moved here
| move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
error[E0507]: cannot move out of a shared reference
--> $DIR/simple.rs:260:34
|
LL | if let (&Either::One(_t),) = (&e.clone(),) { }
| -- ^^^^^^^^^^^^^
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of a shared reference
--> $DIR/simple.rs:262:37
|
LL | while let (&Either::One(_t),) = (&e.clone(),) { }
| -- ^^^^^^^^^^^^^
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of a shared reference
--> $DIR/simple.rs:264:11
|
LL | match (&e.clone(),) {
| ^^^^^^^^^^^^^
LL |
LL | (&Either::One(_t),)
| --
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of a mutable reference
--> $DIR/simple.rs:272:25
|
LL | let (&mut X(_t),) = (&mut xm.clone(),);
| -- ^^^^^^^^^^^^^^^^^^
| |
| data moved here
| move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
error[E0507]: cannot move out of a mutable reference
--> $DIR/simple.rs:274:38
|
LL | if let (&mut Either::One(_t),) = (&mut em.clone(),) { }
| -- ^^^^^^^^^^^^^^^^^^
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of a mutable reference
--> $DIR/simple.rs:276:41
|
LL | while let (&mut Either::One(_t),) = (&mut em.clone(),) { }
| -- ^^^^^^^^^^^^^^^^^^
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
error[E0507]: cannot move out of a mutable reference
--> $DIR/simple.rs:278:11
|
LL | match (&mut em.clone(),) {
| ^^^^^^^^^^^^^^^^^^
LL |
LL | (&mut Either::One(_t),) => (),
| -- data moved here
LL | (&mut Either::Two(_t),) => (),
| -- ...and here
|
= note: move occurs because these variables have types that don't implement the `Copy` trait
error[E0507]: cannot move out of a shared reference
--> $DIR/simple.rs:288:18
|
LL | let &X(_t) = &x;
| ------ ^^
| | |
| | data moved here
| | move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
| help: consider removing the `&`: `X(_t)`
error[E0507]: cannot move out of a shared reference
--> $DIR/simple.rs:292:31
|
LL | if let &Either::One(_t) = &e { }
| ---------------- ^^
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&`: `Either::One(_t)`
error[E0507]: cannot move out of a shared reference
--> $DIR/simple.rs:296:34
|
LL | while let &Either::One(_t) = &e { }
| ---------------- ^^
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&`: `Either::One(_t)`
error[E0507]: cannot move out of a shared reference
--> $DIR/simple.rs:300:11
|
LL | match &e {
| ^^
LL |
LL | &Either::One(_t)
| --
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
|
help: consider removing the `&`
|
LL | Either::One(_t)
LL |
LL |
LL | | &Either::Two(_t) => (),
|
error[E0507]: cannot move out of a shared reference
--> $DIR/simple.rs:308:11
|
LL | match &e {
| ^^
LL |
LL | &Either::One(_t) => (),
| ----------------
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&`: `Either::One(_t)`
error[E0507]: cannot move out of a shared reference
--> $DIR/simple.rs:315:11
|
LL | match &e {
| ^^
LL |
LL | &Either::One(_t) => (),
| ----------------
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&`: `Either::One(_t)`
error[E0507]: cannot move out of a mutable reference
--> $DIR/simple.rs:323:22
|
LL | let &mut X(_t) = &mut xm;
| ---------- ^^^^^^^
| | |
| | data moved here
| | move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
| help: consider removing the `&mut`: `X(_t)`
error[E0507]: cannot move out of a mutable reference
--> $DIR/simple.rs:327:35
|
LL | if let &mut Either::One(_t) = &mut em { }
| -------------------- ^^^^^^^
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&mut`: `Either::One(_t)`
error[E0507]: cannot move out of a mutable reference
--> $DIR/simple.rs:331:38
|
LL | while let &mut Either::One(_t) = &mut em { }
| -------------------- ^^^^^^^
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&mut`: `Either::One(_t)`
error[E0507]: cannot move out of a mutable reference
--> $DIR/simple.rs:335:11
|
LL | match &mut em {
| ^^^^^^^
LL |
LL | &mut Either::One(_t)
| --
| |
| data moved here
| move occurs because `_t` has type `X`, which does not implement the `Copy` trait
|
help: consider removing the `&mut`
|
LL | Either::One(_t)
LL |
LL |
LL | | &mut Either::Two(_t) => (),
|
error[E0507]: cannot move out of a mutable reference
--> $DIR/simple.rs:343:11
|
LL | match &mut em {
| ^^^^^^^
LL |
LL | &mut Either::One(_t) => (),
| --------------------
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&mut`: `Either::One(_t)`
error[E0507]: cannot move out of a mutable reference
--> $DIR/simple.rs:350:11
|
LL | match &mut em {
| ^^^^^^^
LL |
LL | &mut Either::One(_t) => (),
| --------------------
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&mut`: `Either::One(_t)`
error[E0507]: cannot move out of a mutable reference
--> $DIR/simple.rs:357:11
|
LL | match &mut em {
| ^^^^^^^
LL |
LL | &mut Either::One(_t) => (),
| --------------------
| | |
| | data moved here
| | move occurs because `_t` has type `X`, which does not implement the `Copy` trait
| help: consider removing the `&mut`: `Either::One(_t)`
error[E0507]: cannot move out of a shared reference
--> $DIR/simple.rs:202:11
|
LL | fn f1(&X(_t): &X) { }
| ^^^--^
| | |
| | data moved here
| | move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
| help: consider removing the `&`: `X(_t)`
error[E0507]: cannot move out of a mutable reference
--> $DIR/simple.rs:249:11
|
LL | fn f2(&mut X(_t): &mut X) { }
| ^^^^^^^--^
| | |
| | data moved here
| | move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
| help: consider removing the `&mut`: `X(_t)`
error[E0507]: cannot move out of a shared reference
--> $DIR/simple.rs:269:11
|
LL | fn f3((&X(_t),): (&X,)) { }
| ^^^^--^^^
| |
| data moved here
| move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
error[E0507]: cannot move out of a mutable reference
--> $DIR/simple.rs:283:11
|
LL | fn f4((&mut X(_t),): (&mut X,)) { }
| ^^^^^^^^--^^^
| |
| data moved here
| move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
error: aborting due to 60 previous errors
For more information about this error, try `rustc --explain E0507`.