1 error[E0507]: cannot move out of `*r` which is behind a shared reference
2 --> $DIR/cannot-move-block-spans.rs:5:15
7 | move occurs because `*r` has type `String`, which does not implement the `Copy` trait
8 | help: consider borrowing here: `&*r`
10 error[E0507]: cannot move out of `*r` which is behind a shared reference
11 --> $DIR/cannot-move-block-spans.rs:6:22
13 LL | let y = unsafe { *r };
16 | move occurs because `*r` has type `String`, which does not implement the `Copy` trait
17 | help: consider borrowing here: `&*r`
19 error[E0507]: cannot move out of `*r` which is behind a shared reference
20 --> $DIR/cannot-move-block-spans.rs:7:26
22 LL | let z = loop { break *r; };
25 | move occurs because `*r` has type `String`, which does not implement the `Copy` trait
26 | help: consider borrowing here: `&*r`
28 error[E0508]: cannot move out of type `[String; 2]`, a non-copy array
29 --> $DIR/cannot-move-block-spans.rs:11:15
31 LL | let x = { arr[0] };
34 | cannot move out of here
35 | move occurs because `arr[_]` has type `String`, which does not implement the `Copy` trait
36 | help: consider borrowing here: `&arr[0]`
38 error[E0508]: cannot move out of type `[String; 2]`, a non-copy array
39 --> $DIR/cannot-move-block-spans.rs:12:22
41 LL | let y = unsafe { arr[0] };
44 | cannot move out of here
45 | move occurs because `arr[_]` has type `String`, which does not implement the `Copy` trait
46 | help: consider borrowing here: `&arr[0]`
48 error[E0508]: cannot move out of type `[String; 2]`, a non-copy array
49 --> $DIR/cannot-move-block-spans.rs:13:26
51 LL | let z = loop { break arr[0]; };
54 | cannot move out of here
55 | move occurs because `arr[_]` has type `String`, which does not implement the `Copy` trait
56 | help: consider borrowing here: `&arr[0]`
58 error[E0507]: cannot move out of `*r` which is behind a shared reference
59 --> $DIR/cannot-move-block-spans.rs:17:38
61 LL | let x = { let mut u = 0; u += 1; *r };
64 | move occurs because `*r` has type `String`, which does not implement the `Copy` trait
65 | help: consider borrowing here: `&*r`
67 error[E0507]: cannot move out of `*r` which is behind a shared reference
68 --> $DIR/cannot-move-block-spans.rs:18:45
70 LL | let y = unsafe { let mut u = 0; u += 1; *r };
73 | move occurs because `*r` has type `String`, which does not implement the `Copy` trait
74 | help: consider borrowing here: `&*r`
76 error[E0507]: cannot move out of `*r` which is behind a shared reference
77 --> $DIR/cannot-move-block-spans.rs:19:49
79 LL | let z = loop { let mut u = 0; u += 1; break *r; u += 2; };
82 | move occurs because `*r` has type `String`, which does not implement the `Copy` trait
83 | help: consider borrowing here: `&*r`
85 error: aborting due to 9 previous errors
87 Some errors have detailed explanations: E0507, E0508.
88 For more information about an error, try `rustc --explain E0507`.