1error[E0271]: type mismatch resolving `<A as Trait>::Associated == ()`
2  --> $DIR/issue-87261.rs:56:5
3   |
4LL |     accepts_trait(a);
5   |     ^^^^^^^^^^^^^ expected `()`, found associated type
6   |
7   = note:    expected unit type `()`
8           found associated type `<A as Trait>::Associated`
9note: required by a bound in `accepts_trait`
10  --> $DIR/issue-87261.rs:43:27
11   |
12LL | fn accepts_trait<T: Trait<Associated = ()>>(_: T) {}
13   |                           ^^^^^^^^^^^^^^^ required by this bound in `accepts_trait`
14help: consider constraining the associated type `<A as Trait>::Associated` to `()`
15   |
16LL |     A: Trait<Associated = ()> + 'static,
17   |             +++++++++++++++++
18
19error[E0271]: type mismatch resolving `<B as Trait>::Associated == ()`
20  --> $DIR/issue-87261.rs:59:5
21   |
22LL |     accepts_trait(b);
23   |     ^^^^^^^^^^^^^ expected `()`, found associated type
24   |
25   = note:    expected unit type `()`
26           found associated type `<B as Trait>::Associated`
27   = help: consider constraining the associated type `<B as Trait>::Associated` to `()`
28   = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
29note: required by a bound in `accepts_trait`
30  --> $DIR/issue-87261.rs:43:27
31   |
32LL | fn accepts_trait<T: Trait<Associated = ()>>(_: T) {}
33   |                           ^^^^^^^^^^^^^^^ required by this bound in `accepts_trait`
34
35error[E0271]: type mismatch resolving `<C as Trait>::Associated == ()`
36  --> $DIR/issue-87261.rs:62:5
37   |
38LL |     accepts_trait(c);
39   |     ^^^^^^^^^^^^^ expected `()`, found associated type
40   |
41   = note:    expected unit type `()`
42           found associated type `<C as Trait>::Associated`
43note: required by a bound in `accepts_trait`
44  --> $DIR/issue-87261.rs:43:27
45   |
46LL | fn accepts_trait<T: Trait<Associated = ()>>(_: T) {}
47   |                           ^^^^^^^^^^^^^^^ required by this bound in `accepts_trait`
48help: consider constraining the associated type `<C as Trait>::Associated` to `()`
49   |
50LL |     C: Trait<Associated = ()> + Foo,
51   |             +++++++++++++++++
52
53error[E0271]: type mismatch resolving `<D as Trait>::Associated == ()`
54  --> $DIR/issue-87261.rs:65:5
55   |
56LL |     accepts_trait(d);
57   |     ^^^^^^^^^^^^^ expected `()`, found associated type
58   |
59   = note:    expected unit type `()`
60           found associated type `<D as Trait>::Associated`
61   = help: consider constraining the associated type `<D as Trait>::Associated` to `()`
62   = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
63note: required by a bound in `accepts_trait`
64  --> $DIR/issue-87261.rs:43:27
65   |
66LL | fn accepts_trait<T: Trait<Associated = ()>>(_: T) {}
67   |                           ^^^^^^^^^^^^^^^ required by this bound in `accepts_trait`
68
69error[E0271]: type mismatch resolving `<E as GenericTrait<()>>::Associated == ()`
70  --> $DIR/issue-87261.rs:68:5
71   |
72LL |     accepts_generic_trait(e);
73   |     ^^^^^^^^^^^^^^^^^^^^^ expected `()`, found associated type
74   |
75   = note:    expected unit type `()`
76           found associated type `<E as GenericTrait<()>>::Associated`
77note: required by a bound in `accepts_generic_trait`
78  --> $DIR/issue-87261.rs:44:46
79   |
80LL | fn accepts_generic_trait<T: GenericTrait<(), Associated = ()>>(_: T) {}
81   |                                              ^^^^^^^^^^^^^^^ required by this bound in `accepts_generic_trait`
82help: consider constraining the associated type `<E as GenericTrait<()>>::Associated` to `()`
83   |
84LL |     E: GenericTrait<(), Associated = ()> + 'static,
85   |                       +++++++++++++++++
86
87error[E0271]: type mismatch resolving `<F as GenericTrait<()>>::Associated == ()`
88  --> $DIR/issue-87261.rs:71:5
89   |
90LL |     accepts_generic_trait(f);
91   |     ^^^^^^^^^^^^^^^^^^^^^ expected `()`, found associated type
92   |
93   = note:    expected unit type `()`
94           found associated type `<F as GenericTrait<()>>::Associated`
95note: required by a bound in `accepts_generic_trait`
96  --> $DIR/issue-87261.rs:44:46
97   |
98LL | fn accepts_generic_trait<T: GenericTrait<(), Associated = ()>>(_: T) {}
99   |                                              ^^^^^^^^^^^^^^^ required by this bound in `accepts_generic_trait`
100help: consider constraining the associated type `<F as GenericTrait<()>>::Associated` to `()`
101   |
102LL |     F: GenericTrait<(), Associated = ()> + Foo,
103   |                       +++++++++++++++++
104
105error[E0271]: type mismatch resolving `<G as GenericTrait<()>>::Associated == ()`
106  --> $DIR/issue-87261.rs:74:5
107   |
108LL |     accepts_generic_trait(g);
109   |     ^^^^^^^^^^^^^^^^^^^^^ expected `()`, found associated type
110   |
111   = note:    expected unit type `()`
112           found associated type `<G as GenericTrait<()>>::Associated`
113   = help: consider constraining the associated type `<G as GenericTrait<()>>::Associated` to `()`
114   = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
115note: required by a bound in `accepts_generic_trait`
116  --> $DIR/issue-87261.rs:44:46
117   |
118LL | fn accepts_generic_trait<T: GenericTrait<(), Associated = ()>>(_: T) {}
119   |                                              ^^^^^^^^^^^^^^^ required by this bound in `accepts_generic_trait`
120
121error[E0271]: type mismatch resolving `<impl Trait as Trait>::Associated == ()`
122  --> $DIR/issue-87261.rs:79:5
123   |
124LL | fn returns_opaque() -> impl Trait + 'static {
125   |                        -------------------- the found opaque type
126...
127LL |     accepts_trait(returns_opaque());
128   |     ^^^^^^^^^^^^^ expected `()`, found associated type
129   |
130   = note:    expected unit type `()`
131           found associated type `<impl Trait as Trait>::Associated`
132note: required by a bound in `accepts_trait`
133  --> $DIR/issue-87261.rs:43:27
134   |
135LL | fn accepts_trait<T: Trait<Associated = ()>>(_: T) {}
136   |                           ^^^^^^^^^^^^^^^ required by this bound in `accepts_trait`
137help: consider constraining the associated type `<impl Trait as Trait>::Associated` to `()`
138   |
139LL | fn returns_opaque() -> impl Trait<Associated = ()> + 'static {
140   |                                  +++++++++++++++++
141
142error[E0271]: type mismatch resolving `<impl DerivedTrait as Trait>::Associated == ()`
143  --> $DIR/issue-87261.rs:82:5
144   |
145LL | fn returns_opaque_derived() -> impl DerivedTrait + 'static {
146   |                                --------------------------- the found opaque type
147...
148LL |     accepts_trait(returns_opaque_derived());
149   |     ^^^^^^^^^^^^^ expected `()`, found associated type
150   |
151   = note:    expected unit type `()`
152           found associated type `<impl DerivedTrait as Trait>::Associated`
153note: required by a bound in `accepts_trait`
154  --> $DIR/issue-87261.rs:43:27
155   |
156LL | fn accepts_trait<T: Trait<Associated = ()>>(_: T) {}
157   |                           ^^^^^^^^^^^^^^^ required by this bound in `accepts_trait`
158help: consider constraining the associated type `<impl DerivedTrait as Trait>::Associated` to `()`
159   |
160LL | fn returns_opaque_derived() -> impl DerivedTrait<Associated = ()> + 'static {
161   |                                                 +++++++++++++++++
162
163error[E0271]: type mismatch resolving `<impl Foo + Trait as Trait>::Associated == ()`
164  --> $DIR/issue-87261.rs:85:5
165   |
166LL | fn returns_opaque_foo() -> impl Trait + Foo {
167   |                            ---------------- the found opaque type
168...
169LL |     accepts_trait(returns_opaque_foo());
170   |     ^^^^^^^^^^^^^ expected `()`, found associated type
171   |
172   = note:    expected unit type `()`
173           found associated type `<impl Foo + Trait as Trait>::Associated`
174note: required by a bound in `accepts_trait`
175  --> $DIR/issue-87261.rs:43:27
176   |
177LL | fn accepts_trait<T: Trait<Associated = ()>>(_: T) {}
178   |                           ^^^^^^^^^^^^^^^ required by this bound in `accepts_trait`
179help: consider constraining the associated type `<impl Foo + Trait as Trait>::Associated` to `()`
180   |
181LL | fn returns_opaque_foo() -> impl Trait<Associated = ()> + Foo {
182   |                                      +++++++++++++++++
183
184error[E0271]: type mismatch resolving `<impl Foo + DerivedTrait as Trait>::Associated == ()`
185  --> $DIR/issue-87261.rs:88:5
186   |
187LL | fn returns_opaque_derived_foo() -> impl DerivedTrait + Foo {
188   |                                    ----------------------- the found opaque type
189...
190LL |     accepts_trait(returns_opaque_derived_foo());
191   |     ^^^^^^^^^^^^^ expected `()`, found associated type
192   |
193   = note:    expected unit type `()`
194           found associated type `<impl Foo + DerivedTrait as Trait>::Associated`
195   = help: consider constraining the associated type `<impl Foo + DerivedTrait as Trait>::Associated` to `()`
196   = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
197note: required by a bound in `accepts_trait`
198  --> $DIR/issue-87261.rs:43:27
199   |
200LL | fn accepts_trait<T: Trait<Associated = ()>>(_: T) {}
201   |                           ^^^^^^^^^^^^^^^ required by this bound in `accepts_trait`
202
203error[E0271]: type mismatch resolving `<impl GenericTrait<()> as GenericTrait<()>>::Associated == ()`
204  --> $DIR/issue-87261.rs:91:5
205   |
206LL | fn returns_opaque_generic() -> impl GenericTrait<()> + 'static {
207   |                                ------------------------------- the found opaque type
208...
209LL |     accepts_generic_trait(returns_opaque_generic());
210   |     ^^^^^^^^^^^^^^^^^^^^^ expected `()`, found associated type
211   |
212   = note:    expected unit type `()`
213           found associated type `<impl GenericTrait<()> as GenericTrait<()>>::Associated`
214note: required by a bound in `accepts_generic_trait`
215  --> $DIR/issue-87261.rs:44:46
216   |
217LL | fn accepts_generic_trait<T: GenericTrait<(), Associated = ()>>(_: T) {}
218   |                                              ^^^^^^^^^^^^^^^ required by this bound in `accepts_generic_trait`
219help: consider constraining the associated type `<impl GenericTrait<()> as GenericTrait<()>>::Associated` to `()`
220   |
221LL | fn returns_opaque_generic() -> impl GenericTrait<(), Associated = ()> + 'static {
222   |                                                    +++++++++++++++++
223
224error[E0271]: type mismatch resolving `<impl Foo + GenericTrait<()> as GenericTrait<()>>::Associated == ()`
225  --> $DIR/issue-87261.rs:94:5
226   |
227LL | fn returns_opaque_generic_foo() -> impl GenericTrait<()> + Foo {
228   |                                    --------------------------- the found opaque type
229...
230LL |     accepts_generic_trait(returns_opaque_generic_foo());
231   |     ^^^^^^^^^^^^^^^^^^^^^ expected `()`, found associated type
232   |
233   = note:    expected unit type `()`
234           found associated type `<impl Foo + GenericTrait<()> as GenericTrait<()>>::Associated`
235note: required by a bound in `accepts_generic_trait`
236  --> $DIR/issue-87261.rs:44:46
237   |
238LL | fn accepts_generic_trait<T: GenericTrait<(), Associated = ()>>(_: T) {}
239   |                                              ^^^^^^^^^^^^^^^ required by this bound in `accepts_generic_trait`
240help: consider constraining the associated type `<impl Foo + GenericTrait<()> as GenericTrait<()>>::Associated` to `()`
241   |
242LL | fn returns_opaque_generic_foo() -> impl GenericTrait<(), Associated = ()> + Foo {
243   |                                                        +++++++++++++++++
244
245error[E0271]: type mismatch resolving `<impl GenericTrait<u8> + GenericTrait<()> as GenericTrait<()>>::Associated == ()`
246  --> $DIR/issue-87261.rs:97:5
247   |
248LL | fn returns_opaque_generic_duplicate() -> impl GenericTrait<()> + GenericTrait<u8> {
249   |                                          ---------------------------------------- the found opaque type
250...
251LL |     accepts_generic_trait(returns_opaque_generic_duplicate());
252   |     ^^^^^^^^^^^^^^^^^^^^^ expected `()`, found associated type
253   |
254   = note:    expected unit type `()`
255           found associated type `<impl GenericTrait<u8> + GenericTrait<()> as GenericTrait<()>>::Associated`
256   = help: consider constraining the associated type `<impl GenericTrait<u8> + GenericTrait<()> as GenericTrait<()>>::Associated` to `()`
257   = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
258note: required by a bound in `accepts_generic_trait`
259  --> $DIR/issue-87261.rs:44:46
260   |
261LL | fn accepts_generic_trait<T: GenericTrait<(), Associated = ()>>(_: T) {}
262   |                                              ^^^^^^^^^^^^^^^ required by this bound in `accepts_generic_trait`
263
264error: aborting due to 14 previous errors
265
266For more information about this error, try `rustc --explain E0271`.
267