error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:47:17
+ --> $DIR/dont-suggest-ref.rs:50:17
|
LL | let X(_t) = *s;
| -- ^^
| data moved here
|
note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:47:11
+ --> $DIR/dont-suggest-ref.rs:50:11
|
LL | let X(_t) = *s;
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:51:30
+ --> $DIR/dont-suggest-ref.rs:54:30
|
LL | if let Either::One(_t) = *r { }
| -- ^^
| data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:51:24
+ --> $DIR/dont-suggest-ref.rs:54:24
|
LL | if let Either::One(_t) = *r { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:55:33
+ --> $DIR/dont-suggest-ref.rs:58:33
|
LL | while let Either::One(_t) = *r { }
| -- ^^
| data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:55:27
+ --> $DIR/dont-suggest-ref.rs:58:27
|
LL | while let Either::One(_t) = *r { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:59:11
+ --> $DIR/dont-suggest-ref.rs:62:11
|
LL | match *r {
| ^^
| -- data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:63:21
+ --> $DIR/dont-suggest-ref.rs:66:21
|
LL | Either::One(_t)
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:66:11
+ --> $DIR/dont-suggest-ref.rs:69:11
|
LL | match *r {
| ^^
| -- data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:70:21
+ --> $DIR/dont-suggest-ref.rs:73:21
|
LL | Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:75:17
+ --> $DIR/dont-suggest-ref.rs:78:17
|
LL | let X(_t) = *sm;
| -- ^^^
| data moved here
|
note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:75:11
+ --> $DIR/dont-suggest-ref.rs:78:11
|
LL | let X(_t) = *sm;
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:79:30
+ --> $DIR/dont-suggest-ref.rs:82:30
|
LL | if let Either::One(_t) = *rm { }
| -- ^^^
| data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:79:24
+ --> $DIR/dont-suggest-ref.rs:82:24
|
LL | if let Either::One(_t) = *rm { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:83:33
+ --> $DIR/dont-suggest-ref.rs:86:33
|
LL | while let Either::One(_t) = *rm { }
| -- ^^^
| data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:83:27
+ --> $DIR/dont-suggest-ref.rs:86:27
|
LL | while let Either::One(_t) = *rm { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:87:11
+ --> $DIR/dont-suggest-ref.rs:90:11
|
LL | match *rm {
| ^^^
| -- data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:91:21
+ --> $DIR/dont-suggest-ref.rs:94:21
|
LL | Either::One(_t)
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:94:11
+ --> $DIR/dont-suggest-ref.rs:97:11
|
LL | match *rm {
| ^^^
| -- data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:98:21
+ --> $DIR/dont-suggest-ref.rs:101:21
|
LL | Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:102:11
+ --> $DIR/dont-suggest-ref.rs:105:11
|
LL | match *rm {
| ^^^
| -- data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:106:21
+ --> $DIR/dont-suggest-ref.rs:109:21
|
LL | Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:111:17
+ --> $DIR/dont-suggest-ref.rs:114:17
|
LL | let X(_t) = vs[0];
| -- ^^^^^
| data moved here
|
note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:111:11
+ --> $DIR/dont-suggest-ref.rs:114:11
|
LL | let X(_t) = vs[0];
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:115:30
+ --> $DIR/dont-suggest-ref.rs:118:30
|
LL | if let Either::One(_t) = vr[0] { }
| -- ^^^^^
| data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:115:24
+ --> $DIR/dont-suggest-ref.rs:118:24
|
LL | if let Either::One(_t) = vr[0] { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:119:33
+ --> $DIR/dont-suggest-ref.rs:122:33
|
LL | while let Either::One(_t) = vr[0] { }
| -- ^^^^^
| data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:119:27
+ --> $DIR/dont-suggest-ref.rs:122:27
|
LL | while let Either::One(_t) = vr[0] { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:123:11
+ --> $DIR/dont-suggest-ref.rs:126:11
|
LL | match vr[0] {
| ^^^^^
| -- data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:127:21
+ --> $DIR/dont-suggest-ref.rs:130:21
|
LL | Either::One(_t)
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:130:11
+ --> $DIR/dont-suggest-ref.rs:133:11
|
LL | match vr[0] {
| ^^^^^
| -- data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:134:21
+ --> $DIR/dont-suggest-ref.rs:137:21
|
LL | Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:139:17
+ --> $DIR/dont-suggest-ref.rs:142:17
|
LL | let X(_t) = vsm[0];
| -- ^^^^^^
| data moved here
|
note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:139:11
+ --> $DIR/dont-suggest-ref.rs:142:11
|
LL | let X(_t) = vsm[0];
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:143:30
+ --> $DIR/dont-suggest-ref.rs:146:30
|
LL | if let Either::One(_t) = vrm[0] { }
| -- ^^^^^^
| data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:143:24
+ --> $DIR/dont-suggest-ref.rs:146:24
|
LL | if let Either::One(_t) = vrm[0] { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:147:33
+ --> $DIR/dont-suggest-ref.rs:150:33
|
LL | while let Either::One(_t) = vrm[0] { }
| -- ^^^^^^
| data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:147:27
+ --> $DIR/dont-suggest-ref.rs:150:27
|
LL | while let Either::One(_t) = vrm[0] { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:151:11
+ --> $DIR/dont-suggest-ref.rs:154:11
|
LL | match vrm[0] {
| ^^^^^^
| -- data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:155:21
+ --> $DIR/dont-suggest-ref.rs:158:21
|
LL | Either::One(_t)
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:158:11
+ --> $DIR/dont-suggest-ref.rs:161:11
|
LL | match vrm[0] {
| ^^^^^^
| -- data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:162:21
+ --> $DIR/dont-suggest-ref.rs:165:21
|
LL | Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:166:11
+ --> $DIR/dont-suggest-ref.rs:169:11
|
LL | match vrm[0] {
| ^^^^^^
| -- data moved here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:170:21
+ --> $DIR/dont-suggest-ref.rs:173:21
|
LL | Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:177:18
+ --> $DIR/dont-suggest-ref.rs:180:18
|
LL | let &X(_t) = s;
| ------ ^ cannot move out of borrowed content
| help: consider removing the `&`: `X(_t)`
|
note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:177:12
+ --> $DIR/dont-suggest-ref.rs:180:12
|
LL | let &X(_t) = s;
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:181:31
+ --> $DIR/dont-suggest-ref.rs:184:31
|
LL | if let &Either::One(_t) = r { }
| ---------------- ^ cannot move out of borrowed content
| help: consider removing the `&`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:181:25
+ --> $DIR/dont-suggest-ref.rs:184:25
|
LL | if let &Either::One(_t) = r { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:185:34
+ --> $DIR/dont-suggest-ref.rs:188:34
|
LL | while let &Either::One(_t) = r { }
| ---------------- ^ cannot move out of borrowed content
| help: consider removing the `&`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:185:28
+ --> $DIR/dont-suggest-ref.rs:188:28
|
LL | while let &Either::One(_t) = r { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:189:11
+ --> $DIR/dont-suggest-ref.rs:192:11
|
LL | match r {
| ^ cannot move out of borrowed content
| help: consider removing the `&`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:191:22
+ --> $DIR/dont-suggest-ref.rs:194:22
|
LL | &Either::One(_t)
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:197:11
+ --> $DIR/dont-suggest-ref.rs:200:11
|
LL | match r {
| ^ cannot move out of borrowed content
| help: consider removing the `&`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:199:22
+ --> $DIR/dont-suggest-ref.rs:202:22
|
LL | &Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:204:11
+ --> $DIR/dont-suggest-ref.rs:207:11
|
LL | match r {
| ^ cannot move out of borrowed content
| help: consider removing the `&`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:206:22
+ --> $DIR/dont-suggest-ref.rs:209:22
|
LL | &Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:216:22
+ --> $DIR/dont-suggest-ref.rs:219:22
|
LL | let &mut X(_t) = sm;
| ---------- ^^ cannot move out of borrowed content
| help: consider removing the `&mut`: `X(_t)`
|
note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:216:16
+ --> $DIR/dont-suggest-ref.rs:219:16
|
LL | let &mut X(_t) = sm;
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:220:35
+ --> $DIR/dont-suggest-ref.rs:223:35
|
LL | if let &mut Either::One(_t) = rm { }
| -------------------- ^^ cannot move out of borrowed content
| help: consider removing the `&mut`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:220:29
+ --> $DIR/dont-suggest-ref.rs:223:29
|
LL | if let &mut Either::One(_t) = rm { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:224:38
+ --> $DIR/dont-suggest-ref.rs:227:38
|
LL | while let &mut Either::One(_t) = rm { }
| -------------------- ^^ cannot move out of borrowed content
| help: consider removing the `&mut`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:224:32
+ --> $DIR/dont-suggest-ref.rs:227:32
|
LL | while let &mut Either::One(_t) = rm { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:228:11
+ --> $DIR/dont-suggest-ref.rs:231:11
|
LL | match rm {
| ^^ cannot move out of borrowed content
| -- ... and here
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:230:26
+ --> $DIR/dont-suggest-ref.rs:233:26
|
LL | &mut Either::One(_t) => (),
| ^^
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:233:26
+ --> $DIR/dont-suggest-ref.rs:236:26
|
LL | &mut Either::Two(_t) => (),
| ^^
| ^^^^^^^^^^^^^^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:237:11
+ --> $DIR/dont-suggest-ref.rs:240:11
|
LL | match rm {
| ^^ cannot move out of borrowed content
| help: consider removing the `&mut`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:239:26
+ --> $DIR/dont-suggest-ref.rs:242:26
|
LL | &mut Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:244:11
+ --> $DIR/dont-suggest-ref.rs:247:11
|
LL | match rm {
| ^^ cannot move out of borrowed content
| help: consider removing the `&mut`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:246:26
+ --> $DIR/dont-suggest-ref.rs:249:26
|
LL | &mut Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:251:11
+ --> $DIR/dont-suggest-ref.rs:254:11
|
LL | match rm {
| ^^ cannot move out of borrowed content
| help: consider removing the `&mut`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:253:26
+ --> $DIR/dont-suggest-ref.rs:256:26
|
LL | &mut Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:265:18
+ --> $DIR/dont-suggest-ref.rs:268:18
|
LL | let &X(_t) = &x;
| ------ ^^ cannot move out of borrowed content
| help: consider removing the `&`: `X(_t)`
|
note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:265:12
+ --> $DIR/dont-suggest-ref.rs:268:12
|
LL | let &X(_t) = &x;
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:269:31
+ --> $DIR/dont-suggest-ref.rs:272:31
|
LL | if let &Either::One(_t) = &e { }
| ---------------- ^^ cannot move out of borrowed content
| help: consider removing the `&`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:269:25
+ --> $DIR/dont-suggest-ref.rs:272:25
|
LL | if let &Either::One(_t) = &e { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:273:34
+ --> $DIR/dont-suggest-ref.rs:276:34
|
LL | while let &Either::One(_t) = &e { }
| ---------------- ^^ cannot move out of borrowed content
| help: consider removing the `&`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:273:28
+ --> $DIR/dont-suggest-ref.rs:276:28
|
LL | while let &Either::One(_t) = &e { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:277:11
+ --> $DIR/dont-suggest-ref.rs:280:11
|
LL | match &e {
| ^^ cannot move out of borrowed content
| help: consider removing the `&`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:279:22
+ --> $DIR/dont-suggest-ref.rs:282:22
|
LL | &Either::One(_t)
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:285:11
+ --> $DIR/dont-suggest-ref.rs:288:11
|
LL | match &e {
| ^^ cannot move out of borrowed content
| help: consider removing the `&`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:287:22
+ --> $DIR/dont-suggest-ref.rs:290:22
|
LL | &Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:292:11
+ --> $DIR/dont-suggest-ref.rs:295:11
|
LL | match &e {
| ^^ cannot move out of borrowed content
| help: consider removing the `&`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:294:22
+ --> $DIR/dont-suggest-ref.rs:297:22
|
LL | &Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:300:22
+ --> $DIR/dont-suggest-ref.rs:303:22
|
LL | let &mut X(_t) = &mut xm;
| ---------- ^^^^^^^ cannot move out of borrowed content
| help: consider removing the `&mut`: `X(_t)`
|
note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:300:16
+ --> $DIR/dont-suggest-ref.rs:303:16
|
LL | let &mut X(_t) = &mut xm;
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:304:35
+ --> $DIR/dont-suggest-ref.rs:307:35
|
LL | if let &mut Either::One(_t) = &mut em { }
| -------------------- ^^^^^^^ cannot move out of borrowed content
| help: consider removing the `&mut`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:304:29
+ --> $DIR/dont-suggest-ref.rs:307:29
|
LL | if let &mut Either::One(_t) = &mut em { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:308:38
+ --> $DIR/dont-suggest-ref.rs:311:38
|
LL | while let &mut Either::One(_t) = &mut em { }
| -------------------- ^^^^^^^ cannot move out of borrowed content
| help: consider removing the `&mut`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:308:32
+ --> $DIR/dont-suggest-ref.rs:311:32
|
LL | while let &mut Either::One(_t) = &mut em { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:312:11
+ --> $DIR/dont-suggest-ref.rs:315:11
|
LL | match &mut em {
| ^^^^^^^ cannot move out of borrowed content
| help: consider removing the `&mut`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:314:26
+ --> $DIR/dont-suggest-ref.rs:317:26
|
LL | &mut Either::One(_t)
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:320:11
+ --> $DIR/dont-suggest-ref.rs:323:11
|
LL | match &mut em {
| ^^^^^^^ cannot move out of borrowed content
| help: consider removing the `&mut`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:322:26
+ --> $DIR/dont-suggest-ref.rs:325:26
|
LL | &mut Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:327:11
+ --> $DIR/dont-suggest-ref.rs:330:11
|
LL | match &mut em {
| ^^^^^^^ cannot move out of borrowed content
| help: consider removing the `&mut`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:329:26
+ --> $DIR/dont-suggest-ref.rs:332:26
|
LL | &mut Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:334:11
+ --> $DIR/dont-suggest-ref.rs:337:11
|
LL | match &mut em {
| ^^^^^^^ cannot move out of borrowed content
| help: consider removing the `&mut`: `Either::One(_t)`
|
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:336:26
+ --> $DIR/dont-suggest-ref.rs:339:26
|
LL | &mut Either::One(_t) => (),
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:211:11
+ --> $DIR/dont-suggest-ref.rs:347:27
+ |
+LL | let &(X(_t), X(_u)) = &(x.clone(), x.clone());
+ | --------------- ^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | help: consider removing the `&`: `(X(_t), X(_u))`
+ |
+note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:347:13
+ |
+LL | let &(X(_t), X(_u)) = &(x.clone(), x.clone());
+ | ^^
+note: move occurs because `_u` has type `Y`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:347:20
+ |
+LL | let &(X(_t), X(_u)) = &(x.clone(), x.clone());
+ | ^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:351:50
+ |
+LL | if let &(Either::One(_t), Either::Two(_u)) = &(e.clone(), e.clone()) { }
+ | ----------------------------------- ^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | help: consider removing the `&`: `(Either::One(_t), Either::Two(_u))`
+ |
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:351:26
+ |
+LL | if let &(Either::One(_t), Either::Two(_u)) = &(e.clone(), e.clone()) { }
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:351:43
+ |
+LL | if let &(Either::One(_t), Either::Two(_u)) = &(e.clone(), e.clone()) { }
+ | ^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:355:53
+ |
+LL | while let &(Either::One(_t), Either::Two(_u)) = &(e.clone(), e.clone()) { }
+ | ----------------------------------- ^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | help: consider removing the `&`: `(Either::One(_t), Either::Two(_u))`
+ |
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:355:29
+ |
+LL | while let &(Either::One(_t), Either::Two(_u)) = &(e.clone(), e.clone()) { }
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:355:46
+ |
+LL | while let &(Either::One(_t), Either::Two(_u)) = &(e.clone(), e.clone()) { }
+ | ^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:359:11
+ |
+LL | match &(e.clone(), e.clone()) {
+ | ^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+LL | //~^ ERROR cannot move
+LL | &(Either::One(_t), Either::Two(_u)) => (),
+ | -- -- ... and here
+ | |
+ | data moved here
+...
+LL | &(Either::Two(_t), Either::One(_u)) => (),
+ | -- ... and here -- ... and here
+ |
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:361:23
+ |
+LL | &(Either::One(_t), Either::Two(_u)) => (),
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:361:40
+ |
+LL | &(Either::One(_t), Either::Two(_u)) => (),
+ | ^^
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:364:23
+ |
+LL | &(Either::Two(_t), Either::One(_u)) => (),
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:364:40
+ |
+LL | &(Either::Two(_t), Either::One(_u)) => (),
+ | ^^
+help: consider removing the `&`
+ |
+LL | (Either::One(_t), Either::Two(_u)) => (),
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+help: consider removing the `&`
+ |
+LL | (Either::Two(_t), Either::One(_u)) => (),
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:369:11
+ |
+LL | match &(e.clone(), e.clone()) {
+ | ^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+LL | //~^ ERROR cannot move
+LL | &(Either::One(_t), Either::Two(_u))
+ | -----------------------------------
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | help: consider removing the `&`: `(Either::One(_t), Either::Two(_u))`
+ |
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:371:23
+ |
+LL | &(Either::One(_t), Either::Two(_u))
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:371:40
+ |
+LL | &(Either::One(_t), Either::Two(_u))
+ | ^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:378:11
+ |
+LL | match &(e.clone(), e.clone()) {
+ | ^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+LL | //~^ ERROR cannot move
+LL | &(Either::One(_t), Either::Two(_u)) => (),
+ | -----------------------------------
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | help: consider removing the `&`: `(Either::One(_t), Either::Two(_u))`
+ |
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:380:23
+ |
+LL | &(Either::One(_t), Either::Two(_u)) => (),
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:380:40
+ |
+LL | &(Either::One(_t), Either::Two(_u)) => (),
+ | ^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:386:11
+ |
+LL | match &(e.clone(), e.clone()) {
+ | ^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+LL | //~^ ERROR cannot move
+LL | &(Either::One(_t), Either::Two(_u)) => (),
+ | -----------------------------------
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | help: consider removing the `&`: `(Either::One(_t), Either::Two(_u))`
+ |
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:388:23
+ |
+LL | &(Either::One(_t), Either::Two(_u)) => (),
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:388:40
+ |
+LL | &(Either::One(_t), Either::Two(_u)) => (),
+ | ^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:399:31
+ |
+LL | let &mut (X(_t), X(_u)) = &mut (xm.clone(), xm.clone());
+ | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | help: consider removing the `&mut`: `(X(_t), X(_u))`
+ |
+note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:399:17
+ |
+LL | let &mut (X(_t), X(_u)) = &mut (xm.clone(), xm.clone());
+ | ^^
+note: move occurs because `_u` has type `Y`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:399:24
+ |
+LL | let &mut (X(_t), X(_u)) = &mut (xm.clone(), xm.clone());
+ | ^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:403:54
+ |
+LL | if let &mut (Either::One(_t), Either::Two(_u)) = &mut (em.clone(), em.clone()) { }
+ | --------------------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | help: consider removing the `&mut`: `(Either::One(_t), Either::Two(_u))`
+ |
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:403:30
+ |
+LL | if let &mut (Either::One(_t), Either::Two(_u)) = &mut (em.clone(), em.clone()) { }
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:403:47
+ |
+LL | if let &mut (Either::One(_t), Either::Two(_u)) = &mut (em.clone(), em.clone()) { }
+ | ^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:407:57
+ |
+LL | while let &mut (Either::One(_t), Either::Two(_u)) = &mut (em.clone(), em.clone()) { }
+ | --------------------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | help: consider removing the `&mut`: `(Either::One(_t), Either::Two(_u))`
+ |
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:407:33
+ |
+LL | while let &mut (Either::One(_t), Either::Two(_u)) = &mut (em.clone(), em.clone()) { }
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:407:50
+ |
+LL | while let &mut (Either::One(_t), Either::Two(_u)) = &mut (em.clone(), em.clone()) { }
+ | ^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:411:11
+ |
+LL | match &mut (em.clone(), em.clone()) {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+LL | //~^ ERROR cannot move
+LL | &mut (Either::One(_t), Either::Two(_u)) => (),
+ | -- -- ... and here
+ | |
+ | data moved here
+...
+LL | &mut (Either::Two(_t), Either::One(_u)) => (),
+ | -- ... and here -- ... and here
+ |
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:413:27
+ |
+LL | &mut (Either::One(_t), Either::Two(_u)) => (),
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:413:44
+ |
+LL | &mut (Either::One(_t), Either::Two(_u)) => (),
+ | ^^
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:416:27
+ |
+LL | &mut (Either::Two(_t), Either::One(_u)) => (),
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:416:44
+ |
+LL | &mut (Either::Two(_t), Either::One(_u)) => (),
+ | ^^
+help: consider removing the `&mut`
+ |
+LL | (Either::One(_t), Either::Two(_u)) => (),
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+help: consider removing the `&mut`
+ |
+LL | (Either::Two(_t), Either::One(_u)) => (),
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:421:11
+ |
+LL | match &mut (em.clone(), em.clone()) {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+LL | //~^ ERROR cannot move
+LL | &mut (Either::One(_t), Either::Two(_u))
+ | ---------------------------------------
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | help: consider removing the `&mut`: `(Either::One(_t), Either::Two(_u))`
+ |
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:423:27
+ |
+LL | &mut (Either::One(_t), Either::Two(_u))
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:423:44
+ |
+LL | &mut (Either::One(_t), Either::Two(_u))
+ | ^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:430:11
+ |
+LL | match &mut (em.clone(), em.clone()) {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+LL | //~^ ERROR cannot move
+LL | &mut (Either::One(_t), Either::Two(_u)) => (),
+ | ---------------------------------------
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | help: consider removing the `&mut`: `(Either::One(_t), Either::Two(_u))`
+ |
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:432:27
+ |
+LL | &mut (Either::One(_t), Either::Two(_u)) => (),
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:432:44
+ |
+LL | &mut (Either::One(_t), Either::Two(_u)) => (),
+ | ^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:438:11
+ |
+LL | match &mut (em.clone(), em.clone()) {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+LL | //~^ ERROR cannot move
+LL | &mut (Either::One(_t), Either::Two(_u)) => (),
+ | ---------------------------------------
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | help: consider removing the `&mut`: `(Either::One(_t), Either::Two(_u))`
+ |
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:440:27
+ |
+LL | &mut (Either::One(_t), Either::Two(_u)) => (),
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:440:44
+ |
+LL | &mut (Either::One(_t), Either::Two(_u)) => (),
+ | ^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:446:11
+ |
+LL | match &mut (em.clone(), em.clone()) {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of borrowed content
+LL | //~^ ERROR cannot move
+LL | &mut (Either::One(_t), Either::Two(_u)) => (),
+ | ---------------------------------------
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | help: consider removing the `&mut`: `(Either::One(_t), Either::Two(_u))`
+ |
+note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:448:27
+ |
+LL | &mut (Either::One(_t), Either::Two(_u)) => (),
+ | ^^
+note: move occurs because `_u` has type `X`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:448:44
+ |
+LL | &mut (Either::One(_t), Either::Two(_u)) => (),
+ | ^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:214:11
|
LL | fn f1(&X(_t): &X) { }
| ^^^--^
| help: consider removing the `&`: `X(_t)`
|
note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:211:14
+ --> $DIR/dont-suggest-ref.rs:214:14
|
LL | fn f1(&X(_t): &X) { }
| ^^
error[E0507]: cannot move out of borrowed content
- --> $DIR/dont-suggest-ref.rs:258:11
+ --> $DIR/dont-suggest-ref.rs:261:11
|
LL | fn f2(&mut X(_t): &mut X) { }
| ^^^^^^^--^
| help: consider removing the `&mut`: `X(_t)`
|
note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
- --> $DIR/dont-suggest-ref.rs:258:18
+ --> $DIR/dont-suggest-ref.rs:261:18
|
LL | fn f2(&mut X(_t): &mut X) { }
| ^^
-error: aborting due to 50 previous errors
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:394:11
+ |
+LL | fn f3(&(X(_t), X(_u)): &(X, X)) { }
+ | ^^^^--^^^^^--^^
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | cannot move out of borrowed content
+ | help: consider removing the `&`: `(X(_t), X(_u))`
+ |
+note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:394:15
+ |
+LL | fn f3(&(X(_t), X(_u)): &(X, X)) { }
+ | ^^
+note: move occurs because `_u` has type `Y`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:394:22
+ |
+LL | fn f3(&(X(_t), X(_u)): &(X, X)) { }
+ | ^^
+
+error[E0507]: cannot move out of borrowed content
+ --> $DIR/dont-suggest-ref.rs:454:11
+ |
+LL | fn f4(&mut (X(_t), X(_u)): &mut (X, X)) { }
+ | ^^^^^^^^--^^^^^--^^
+ | | | |
+ | | | ... and here
+ | | data moved here
+ | cannot move out of borrowed content
+ | help: consider removing the `&mut`: `(X(_t), X(_u))`
+ |
+note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:454:19
+ |
+LL | fn f4(&mut (X(_t), X(_u)): &mut (X, X)) { }
+ | ^^
+note: move occurs because `_u` has type `Y`, which does not implement the `Copy` trait
+ --> $DIR/dont-suggest-ref.rs:454:26
+ |
+LL | fn f4(&mut (X(_t), X(_u)): &mut (X, X)) { }
+ | ^^
+
+error: aborting due to 67 previous errors
For more information about this error, try `rustc --explain E0507`.