summaryrefslogtreecommitdiffstats
path: root/tests/ui/associated-types/defaults-suitability.stderr
blob: eadad4cd5722fde2fe784c53425ce4fbc1dfcc63 (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
error[E0277]: the trait bound `NotClone: Clone` is not satisfied
  --> $DIR/defaults-suitability.rs:13:22
   |
LL |     type Ty: Clone = NotClone;
   |                      ^^^^^^^^ the trait `Clone` is not implemented for `NotClone`
   |
note: required by a bound in `Tr::Ty`
  --> $DIR/defaults-suitability.rs:13:14
   |
LL |     type Ty: Clone = NotClone;
   |              ^^^^^ required by this bound in `Tr::Ty`
help: consider annotating `NotClone` with `#[derive(Clone)]`
   |
LL | #[derive(Clone)]
   |

error[E0277]: the trait bound `NotClone: Clone` is not satisfied
  --> $DIR/defaults-suitability.rs:22:15
   |
LL |     type Ty = NotClone;
   |               ^^^^^^^^ the trait `Clone` is not implemented for `NotClone`
   |
note: required by a bound in `Tr2::Ty`
  --> $DIR/defaults-suitability.rs:20:15
   |
LL |     Self::Ty: Clone,
   |               ^^^^^ required by this bound in `Tr2::Ty`
LL | {
LL |     type Ty = NotClone;
   |          -- required by a bound in this
help: consider annotating `NotClone` with `#[derive(Clone)]`
   |
LL | #[derive(Clone)]
   |

error[E0277]: the trait bound `T: Clone` is not satisfied
  --> $DIR/defaults-suitability.rs:28:23
   |
LL |     type Bar: Clone = Vec<T>;
   |                       ^^^^^^ the trait `Clone` is not implemented for `T`
   |
   = note: required for `Vec<T>` to implement `Clone`
note: required by a bound in `Foo::Bar`
  --> $DIR/defaults-suitability.rs:28:15
   |
LL |     type Bar: Clone = Vec<T>;
   |               ^^^^^ required by this bound in `Foo::Bar`
help: consider restricting type parameter `T`
   |
LL | trait Foo<T: std::clone::Clone> {
   |            +++++++++++++++++++

error[E0277]: the trait bound `(): Foo<Self>` is not satisfied
  --> $DIR/defaults-suitability.rs:34:29
   |
LL |     type Assoc: Foo<Self> = ();
   |                             ^^ the trait `Foo<Self>` is not implemented for `()`
   |
note: required by a bound in `Bar::Assoc`
  --> $DIR/defaults-suitability.rs:34:17
   |
LL |     type Assoc: Foo<Self> = ();
   |                 ^^^^^^^^^ required by this bound in `Bar::Assoc`

error[E0277]: the trait bound `NotClone: IsU8<NotClone>` is not satisfied
  --> $DIR/defaults-suitability.rs:56:18
   |
LL |     type Assoc = NotClone;
   |                  ^^^^^^^^ the trait `IsU8<NotClone>` is not implemented for `NotClone`
   |
note: required by a bound in `D::Assoc`
  --> $DIR/defaults-suitability.rs:53:18
   |
LL |     Self::Assoc: IsU8<Self::Assoc>,
   |                  ^^^^^^^^^^^^^^^^^ required by this bound in `D::Assoc`
...
LL |     type Assoc = NotClone;
   |          ----- required by a bound in this

error[E0277]: the trait bound `<Self as Foo2<T>>::Baz: Clone` is not satisfied
  --> $DIR/defaults-suitability.rs:65:23
   |
LL |     type Bar: Clone = Vec<Self::Baz>;
   |                       ^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `<Self as Foo2<T>>::Baz`
   |
   = note: required for `Vec<<Self as Foo2<T>>::Baz>` to implement `Clone`
note: required by a bound in `Foo2::Bar`
  --> $DIR/defaults-suitability.rs:65:15
   |
LL |     type Bar: Clone = Vec<Self::Baz>;
   |               ^^^^^ required by this bound in `Foo2::Bar`
help: consider further restricting the associated type
   |
LL | trait Foo2<T> where <Self as Foo2<T>>::Baz: Clone {
   |               +++++++++++++++++++++++++++++++++++

error[E0277]: the trait bound `<Self as Foo25<T>>::Baz: Clone` is not satisfied
  --> $DIR/defaults-suitability.rs:74:23
   |
LL |     type Bar: Clone = Vec<Self::Baz>;
   |                       ^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `<Self as Foo25<T>>::Baz`
   |
   = note: required for `Vec<<Self as Foo25<T>>::Baz>` to implement `Clone`
note: required by a bound in `Foo25::Bar`
  --> $DIR/defaults-suitability.rs:74:15
   |
LL |     type Bar: Clone = Vec<Self::Baz>;
   |               ^^^^^ required by this bound in `Foo25::Bar`
help: consider further restricting the associated type
   |
LL | trait Foo25<T: Clone> where <Self as Foo25<T>>::Baz: Clone {
   |                       ++++++++++++++++++++++++++++++++++++

error[E0277]: the trait bound `T: Clone` is not satisfied
  --> $DIR/defaults-suitability.rs:87:16
   |
LL |     type Baz = T;
   |                ^ the trait `Clone` is not implemented for `T`
   |
note: required by a bound in `Foo3::Baz`
  --> $DIR/defaults-suitability.rs:84:16
   |
LL |     Self::Baz: Clone,
   |                ^^^^^ required by this bound in `Foo3::Baz`
...
LL |     type Baz = T;
   |          --- required by a bound in this
help: consider further restricting type parameter `T`
   |
LL |     Self::Baz: Clone, T: std::clone::Clone
   |                     ~~~~~~~~~~~~~~~~~~~~~~

error: aborting due to 8 previous errors

For more information about this error, try `rustc --explain E0277`.