1error: missing angle brackets in associated item path
2  --> $DIR/bad-assoc-ty.rs:1:10
3   |
4LL | type A = [u8; 4]::AssocTy;
5   |          ^^^^^^^^^^^^^^^^ help: try: `<[u8; 4]>::AssocTy`
6
7error: missing angle brackets in associated item path
8  --> $DIR/bad-assoc-ty.rs:5:10
9   |
10LL | type B = [u8]::AssocTy;
11   |          ^^^^^^^^^^^^^ help: try: `<[u8]>::AssocTy`
12
13error: missing angle brackets in associated item path
14  --> $DIR/bad-assoc-ty.rs:9:10
15   |
16LL | type C = (u8)::AssocTy;
17   |          ^^^^^^^^^^^^^ help: try: `<(u8)>::AssocTy`
18
19error: missing angle brackets in associated item path
20  --> $DIR/bad-assoc-ty.rs:13:10
21   |
22LL | type D = (u8, u8)::AssocTy;
23   |          ^^^^^^^^^^^^^^^^^ help: try: `<(u8, u8)>::AssocTy`
24
25error: missing angle brackets in associated item path
26  --> $DIR/bad-assoc-ty.rs:17:10
27   |
28LL | type E = _::AssocTy;
29   |          ^^^^^^^^^^ help: try: `<_>::AssocTy`
30
31error: missing angle brackets in associated item path
32  --> $DIR/bad-assoc-ty.rs:21:19
33   |
34LL | type F = &'static (u8)::AssocTy;
35   |                   ^^^^^^^^^^^^^ help: try: `<(u8)>::AssocTy`
36
37error: missing angle brackets in associated item path
38  --> $DIR/bad-assoc-ty.rs:27:10
39   |
40LL | type G = dyn 'static + (Send)::AssocTy;
41   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `<dyn 'static + (Send)>::AssocTy`
42
43error: missing angle brackets in associated item path
44  --> $DIR/bad-assoc-ty.rs:44:10
45   |
46LL | type I = ty!()::AssocTy;
47   |          ^^^^^^^^^^^^^^ help: try: `<ty!()>::AssocTy`
48
49error: missing angle brackets in associated item path
50  --> $DIR/bad-assoc-ty.rs:37:19
51   |
52LL |     ($ty: ty) => ($ty::AssocTy);
53   |                   ^^^^^^^^^^^^ help: try: `<$ty>::AssocTy`
54...
55LL | type J = ty!(u8);
56   |          ------- in this macro invocation
57   |
58   = note: this error originates in the macro `ty` (in Nightly builds, run with -Z macro-backtrace for more info)
59
60error[E0223]: ambiguous associated type
61  --> $DIR/bad-assoc-ty.rs:1:10
62   |
63LL | type A = [u8; 4]::AssocTy;
64   |          ^^^^^^^^^^^^^^^^ help: use fully-qualified syntax: `<[u8; 4] as Trait>::AssocTy`
65
66error[E0223]: ambiguous associated type
67  --> $DIR/bad-assoc-ty.rs:5:10
68   |
69LL | type B = [u8]::AssocTy;
70   |          ^^^^^^^^^^^^^ help: use fully-qualified syntax: `<[u8] as Trait>::AssocTy`
71
72error[E0223]: ambiguous associated type
73  --> $DIR/bad-assoc-ty.rs:9:10
74   |
75LL | type C = (u8)::AssocTy;
76   |          ^^^^^^^^^^^^^ help: use fully-qualified syntax: `<u8 as Trait>::AssocTy`
77
78error[E0223]: ambiguous associated type
79  --> $DIR/bad-assoc-ty.rs:13:10
80   |
81LL | type D = (u8, u8)::AssocTy;
82   |          ^^^^^^^^^^^^^^^^^ help: use fully-qualified syntax: `<(u8, u8) as Trait>::AssocTy`
83
84error[E0121]: the type placeholder `_` is not allowed within types on item signatures for type aliases
85  --> $DIR/bad-assoc-ty.rs:17:10
86   |
87LL | type E = _::AssocTy;
88   |          ^ not allowed in type signatures
89
90error[E0223]: ambiguous associated type
91  --> $DIR/bad-assoc-ty.rs:21:19
92   |
93LL | type F = &'static (u8)::AssocTy;
94   |                   ^^^^^^^^^^^^^ help: use fully-qualified syntax: `<u8 as Trait>::AssocTy`
95
96error[E0223]: ambiguous associated type
97  --> $DIR/bad-assoc-ty.rs:27:10
98   |
99LL | type G = dyn 'static + (Send)::AssocTy;
100   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use fully-qualified syntax: `<(dyn Send + 'static) as Trait>::AssocTy`
101
102error[E0223]: ambiguous associated type
103  --> $DIR/bad-assoc-ty.rs:33:10
104   |
105LL | type H = Fn(u8) -> (u8)::Output;
106   |          ^^^^^^^^^^^^^^^^^^^^^^ help: use fully-qualified syntax: `<(dyn Fn(u8) -> u8 + 'static) as Trait>::Output`
107
108error[E0223]: ambiguous associated type
109  --> $DIR/bad-assoc-ty.rs:37:19
110   |
111LL |     ($ty: ty) => ($ty::AssocTy);
112   |                   ^^^^^^^^^^^^ help: use fully-qualified syntax: `<u8 as Trait>::AssocTy`
113...
114LL | type J = ty!(u8);
115   |          ------- in this macro invocation
116   |
117   = note: this error originates in the macro `ty` (in Nightly builds, run with -Z macro-backtrace for more info)
118
119error[E0223]: ambiguous associated type
120  --> $DIR/bad-assoc-ty.rs:44:10
121   |
122LL | type I = ty!()::AssocTy;
123   |          ^^^^^^^^^^^^^^ help: use fully-qualified syntax: `<u8 as Trait>::AssocTy`
124
125error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions
126  --> $DIR/bad-assoc-ty.rs:49:13
127   |
128LL | fn foo<X: K<_, _>>(x: X) {}
129   |             ^  ^ not allowed in type signatures
130   |             |
131   |             not allowed in type signatures
132   |
133help: use type parameters instead
134   |
135LL | fn foo<X: K<T, T>, T>(x: X) {}
136   |             ~  ~ +++
137
138error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions
139  --> $DIR/bad-assoc-ty.rs:52:34
140   |
141LL | fn bar<F>(_: F) where F: Fn() -> _ {}
142   |                                  ^ not allowed in type signatures
143   |
144help: use type parameters instead
145   |
146LL | fn bar<F, T>(_: F) where F: Fn() -> T {}
147   |         +++                         ~
148
149error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions
150  --> $DIR/bad-assoc-ty.rs:55:19
151   |
152LL | fn baz<F: Fn() -> _>(_: F) {}
153   |                   ^ not allowed in type signatures
154   |
155help: use type parameters instead
156   |
157LL | fn baz<F: Fn() -> T, T>(_: F) {}
158   |                   ~+++
159
160error[E0121]: the type placeholder `_` is not allowed within types on item signatures for structs
161  --> $DIR/bad-assoc-ty.rs:58:33
162   |
163LL | struct L<F>(F) where F: Fn() -> _;
164   |                                 ^ not allowed in type signatures
165   |
166help: use type parameters instead
167   |
168LL | struct L<F, T>(F) where F: Fn() -> T;
169   |           +++                      ~
170
171error[E0121]: the type placeholder `_` is not allowed within types on item signatures for structs
172  --> $DIR/bad-assoc-ty.rs:60:30
173   |
174LL | struct M<F> where F: Fn() -> _ {
175   |                              ^ not allowed in type signatures
176   |
177help: use type parameters instead
178   |
179LL | struct M<F, T> where F: Fn() -> T {
180   |           +++                   ~
181
182error[E0121]: the type placeholder `_` is not allowed within types on item signatures for enums
183  --> $DIR/bad-assoc-ty.rs:64:28
184   |
185LL | enum N<F> where F: Fn() -> _ {
186   |                            ^ not allowed in type signatures
187   |
188help: use type parameters instead
189   |
190LL | enum N<F, T> where F: Fn() -> T {
191   |         +++                   ~
192
193error[E0121]: the type placeholder `_` is not allowed within types on item signatures for unions
194  --> $DIR/bad-assoc-ty.rs:69:29
195   |
196LL | union O<F> where F: Fn() -> _ {
197   |                             ^ not allowed in type signatures
198   |
199help: use type parameters instead
200   |
201LL | union O<F, T> where F: Fn() -> T {
202   |          +++                   ~
203
204error[E0121]: the type placeholder `_` is not allowed within types on item signatures for traits
205  --> $DIR/bad-assoc-ty.rs:74:29
206   |
207LL | trait P<F> where F: Fn() -> _ {
208   |                             ^ not allowed in type signatures
209   |
210help: use type parameters instead
211   |
212LL | trait P<F, T> where F: Fn() -> T {
213   |          +++                   ~
214
215error[E0121]: the type placeholder `_` is not allowed within types on item signatures for functions
216  --> $DIR/bad-assoc-ty.rs:79:38
217   |
218LL |     fn foo<F>(_: F) where F: Fn() -> _ {}
219   |                                      ^ not allowed in type signatures
220   |
221help: use type parameters instead
222   |
223LL |     fn foo<F, T>(_: F) where F: Fn() -> T {}
224   |             +++                         ~
225
226error: aborting due to 28 previous errors
227
228Some errors have detailed explanations: E0121, E0223.
229For more information about an error, try `rustc --explain E0121`.
230