1 error[E0382]: use of moved value: `t`
2 --> $DIR/use_of_moved_value_copy_suggestions.rs:6:9
4 LL | fn duplicate_t<T>(t: T) -> (T, T) {
5 | - move occurs because `t` has type `T`, which does not implement the `Copy` trait
8 | - ^ value used here after move
12 help: consider restricting type parameter `T`
14 LL | fn duplicate_t<T: Copy>(t: T) -> (T, T) {
17 error[E0382]: use of moved value: `t`
18 --> $DIR/use_of_moved_value_copy_suggestions.rs:11:9
20 LL | fn duplicate_opt<T>(t: Option<T>) -> (Option<T>, Option<T>) {
21 | - move occurs because `t` has type `Option<T>`, which does not implement the `Copy` trait
24 | - ^ value used here after move
28 help: consider restricting type parameter `T`
30 LL | fn duplicate_opt<T: Copy>(t: Option<T>) -> (Option<T>, Option<T>) {
33 error[E0382]: use of moved value: `t`
34 --> $DIR/use_of_moved_value_copy_suggestions.rs:16:9
36 LL | fn duplicate_tup1<T>(t: (T,)) -> ((T,), (T,)) {
37 | - move occurs because `t` has type `(T,)`, which does not implement the `Copy` trait
40 | - ^ value used here after move
44 help: consider restricting type parameter `T`
46 LL | fn duplicate_tup1<T: Copy>(t: (T,)) -> ((T,), (T,)) {
49 error[E0382]: use of moved value: `t`
50 --> $DIR/use_of_moved_value_copy_suggestions.rs:21:9
52 LL | fn duplicate_tup2<A, B>(t: (A, B)) -> ((A, B), (A, B)) {
53 | - move occurs because `t` has type `(A, B)`, which does not implement the `Copy` trait
56 | - ^ value used here after move
60 help: consider restricting type parameters
62 LL | fn duplicate_tup2<A: Copy, B: Copy>(t: (A, B)) -> ((A, B), (A, B)) {
65 error[E0382]: use of moved value: `t`
66 --> $DIR/use_of_moved_value_copy_suggestions.rs:26:9
68 LL | fn duplicate_custom<T>(t: S<T>) -> (S<T>, S<T>) {
69 | - move occurs because `t` has type `S<T>`, which does not implement the `Copy` trait
72 | - ^ value used here after move
76 help: consider restricting type parameter `T`
78 LL | fn duplicate_custom<T: Copy + Trait>(t: S<T>) -> (S<T>, S<T>) {
81 error[E0382]: use of moved value: `t`
82 --> $DIR/use_of_moved_value_copy_suggestions.rs:44:9
84 LL | fn duplicate_custom_1<T>(t: S<T>) -> (S<T>, S<T>) where {
85 | - move occurs because `t` has type `S<T>`, which does not implement the `Copy` trait
88 | - ^ value used here after move
92 help: consider restricting type parameter `T`
94 LL | fn duplicate_custom_1<T: Copy + Trait>(t: S<T>) -> (S<T>, S<T>) where {
97 error[E0382]: use of moved value: `t`
98 --> $DIR/use_of_moved_value_copy_suggestions.rs:52:9
100 LL | fn duplicate_custom_2<T>(t: S<T>) -> (S<T>, S<T>)
101 | - move occurs because `t` has type `S<T>`, which does not implement the `Copy` trait
104 | - ^ value used here after move
108 help: consider further restricting this bound
110 LL | T: A + Copy + Trait,
113 error[E0382]: use of moved value: `t`
114 --> $DIR/use_of_moved_value_copy_suggestions.rs:61:9
116 LL | fn duplicate_custom_3<T>(t: S<T>) -> (S<T>, S<T>)
117 | - move occurs because `t` has type `S<T>`, which does not implement the `Copy` trait
120 | - ^ value used here after move
124 help: consider further restricting this bound
126 LL | T: A + Copy + Trait,
129 error[E0382]: use of moved value: `t`
130 --> $DIR/use_of_moved_value_copy_suggestions.rs:69:9
132 LL | fn duplicate_custom_4<T: A>(t: S<T>) -> (S<T>, S<T>)
133 | - move occurs because `t` has type `S<T>`, which does not implement the `Copy` trait
136 | - ^ value used here after move
140 help: consider further restricting this bound
142 LL | fn duplicate_custom_4<T: A + Copy + Trait>(t: S<T>) -> (S<T>, S<T>)
145 error[E0382]: use of moved value: `t`
146 --> $DIR/use_of_moved_value_copy_suggestions.rs:75:9
148 LL | fn existing_colon<T:>(t: T) {
149 | - move occurs because `t` has type `T`, which does not implement the `Copy` trait
152 | - ^ value used here after move
156 help: consider restricting type parameter `T`
158 LL | fn existing_colon<T: Copy>(t: T) {
161 error[E0382]: use of moved value: `t`
162 --> $DIR/use_of_moved_value_copy_suggestions.rs:83:9
164 LL | fn existing_colon_in_where<T>(t: T)
165 | - move occurs because `t` has type `T`, which does not implement the `Copy` trait
168 | - ^ value used here after move
172 help: consider further restricting type parameter `T`
177 error: aborting due to 11 previous errors
179 For more information about this error, try `rustc --explain E0382`.