summaryrefslogtreecommitdiff
path: root/tests/ui/suggestions/missing-bound-in-derive-copy-impl.stderr
blob: 2ae0871b815e4106f09b7cbbbe18b64a7e67a2ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
error[E0204]: the trait `Copy` cannot be implemented for this type
  --> $DIR/missing-bound-in-derive-copy-impl.rs:9:17
   |
LL | #[derive(Debug, Copy, Clone)]
   |                 ^^^^
LL | pub struct AABB<K> {
LL |     pub loc: Vector2<K>,
   |     ------------------- this field does not implement `Copy`
   |
note: the `Copy` impl for `Vector2<K>` requires that `K: Debug`
  --> $DIR/missing-bound-in-derive-copy-impl.rs:11:14
   |
LL |     pub loc: Vector2<K>,
   |              ^^^^^^^^^^
   = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider restricting type parameter `K`
   |
LL | pub struct AABB<K: Debug> {
   |                  +++++++

error[E0277]: `K` doesn't implement `Debug`
  --> $DIR/missing-bound-in-derive-copy-impl.rs:11:14
   |
LL |     pub loc: Vector2<K>,
   |              ^^^^^^^^^^ `K` cannot be formatted using `{:?}` because it doesn't implement `Debug`
   |
note: required by a bound in `Vector2`
  --> $DIR/missing-bound-in-derive-copy-impl.rs:4:23
   |
LL | pub struct Vector2<T: Debug + Copy + Clone> {
   |                       ^^^^^ required by this bound in `Vector2`
help: consider restricting type parameter `K`
   |
LL | pub struct AABB<K: std::fmt::Debug> {
   |                  +++++++++++++++++

error[E0277]: the trait bound `K: Copy` is not satisfied
  --> $DIR/missing-bound-in-derive-copy-impl.rs:11:14
   |
LL |     pub loc: Vector2<K>,
   |              ^^^^^^^^^^ the trait `Copy` is not implemented for `K`
   |
note: required by a bound in `Vector2`
  --> $DIR/missing-bound-in-derive-copy-impl.rs:4:31
   |
LL | pub struct Vector2<T: Debug + Copy + Clone> {
   |                               ^^^^ required by this bound in `Vector2`
help: consider restricting type parameter `K`
   |
LL | pub struct AABB<K: std::marker::Copy> {
   |                  +++++++++++++++++++

error[E0277]: the trait bound `K: Copy` is not satisfied
  --> $DIR/missing-bound-in-derive-copy-impl.rs:11:5
   |
LL | #[derive(Debug, Copy, Clone)]
   |          ----- in this derive macro expansion
LL | pub struct AABB<K> {
LL |     pub loc: Vector2<K>,
   |     ^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `K`, which is required by `Vector2<K>: Debug`
   |
note: required for `Vector2<K>` to implement `Debug`
  --> $DIR/missing-bound-in-derive-copy-impl.rs:3:10
   |
LL | #[derive(Debug, Copy, Clone)]
   |          ^^^^^
LL | pub struct Vector2<T: Debug + Copy + Clone> {
   |                               ---- unsatisfied trait bound introduced in this `derive` macro
   = note: required for the cast from `&Vector2<K>` to `&dyn Debug`
   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider restricting type parameter `K`
   |
LL | pub struct AABB<K: std::marker::Copy> {
   |                  +++++++++++++++++++

error[E0277]: `K` doesn't implement `Debug`
  --> $DIR/missing-bound-in-derive-copy-impl.rs:11:5
   |
LL | #[derive(Debug, Copy, Clone)]
   |                       ----- in this derive macro expansion
LL | pub struct AABB<K> {
LL |     pub loc: Vector2<K>,
   |     ^^^^^^^^^^^^^^^^^^^ `K` cannot be formatted using `{:?}` because it doesn't implement `Debug`
   |
   = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider restricting type parameter `K`
   |
LL | pub struct AABB<K: std::fmt::Debug> {
   |                  +++++++++++++++++

error[E0277]: the trait bound `K: Copy` is not satisfied
  --> $DIR/missing-bound-in-derive-copy-impl.rs:11:5
   |
LL | #[derive(Debug, Copy, Clone)]
   |                       ----- in this derive macro expansion
LL | pub struct AABB<K> {
LL |     pub loc: Vector2<K>,
   |     ^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `K`, which is required by `Vector2<K>: Clone`
   |
note: required for `Vector2<K>` to implement `Clone`
  --> $DIR/missing-bound-in-derive-copy-impl.rs:3:23
   |
LL | #[derive(Debug, Copy, Clone)]
   |                       ^^^^^
LL | pub struct Vector2<T: Debug + Copy + Clone> {
   |                               ---- unsatisfied trait bound introduced in this `derive` macro
   = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider restricting type parameter `K`
   |
LL | pub struct AABB<K: std::marker::Copy> {
   |                  +++++++++++++++++++

error[E0277]: `K` doesn't implement `Debug`
  --> $DIR/missing-bound-in-derive-copy-impl.rs:17:5
   |
LL | #[derive(Debug, Copy, Clone)]
   |                       ----- in this derive macro expansion
...
LL |     pub size: Vector2<K>,
   |     ^^^^^^^^^^^^^^^^^^^^ `K` cannot be formatted using `{:?}` because it doesn't implement `Debug`
   |
   = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider restricting type parameter `K`
   |
LL | pub struct AABB<K: std::fmt::Debug> {
   |                  +++++++++++++++++

error[E0277]: the trait bound `K: Copy` is not satisfied
  --> $DIR/missing-bound-in-derive-copy-impl.rs:17:5
   |
LL | #[derive(Debug, Copy, Clone)]
   |                       ----- in this derive macro expansion
...
LL |     pub size: Vector2<K>,
   |     ^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `K`, which is required by `Vector2<K>: Clone`
   |
note: required for `Vector2<K>` to implement `Clone`
  --> $DIR/missing-bound-in-derive-copy-impl.rs:3:23
   |
LL | #[derive(Debug, Copy, Clone)]
   |                       ^^^^^
LL | pub struct Vector2<T: Debug + Copy + Clone> {
   |                               ---- unsatisfied trait bound introduced in this `derive` macro
   = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider restricting type parameter `K`
   |
LL | pub struct AABB<K: std::marker::Copy> {
   |                  +++++++++++++++++++

error: aborting due to 8 previous errors

Some errors have detailed explanations: E0204, E0277.
For more information about an error, try `rustc --explain E0204`.