1
1
error: type parameters must be declared prior to associated type bindings
2
- --> $DIR/suggest-move-types.rs:16 :26
2
+ --> $DIR/suggest-move-types.rs:28 :26
3
3
|
4
4
LL | struct A<T, M: One<A=(), T>> { //~ ERROR type parameters must be declared
5
5
| ^ must be declared prior to associated type bindings
@@ -8,8 +8,20 @@ help: move the type parameter prior to the first associated type binding
8
8
LL | struct A<T, M: One<T, A=()>> { //~ ERROR type parameters must be declared
9
9
| ^^ --
10
10
11
+ error: generic arguments must declare lifetimes, types and associated type bindings in that order
12
+ --> $DIR/suggest-move-types.rs:34:46
13
+ |
14
+ LL | struct Al<'a, T, M: OneWithLifetime<A=(), T, 'a>> {
15
+ | ^ ^^ must be declared prior to type parameters
16
+ | |
17
+ | must be declared prior to associated type bindings
18
+ help: move the parameters
19
+ |
20
+ LL | struct Al<'a, T, M: OneWithLifetime<'a, T, A=()>> {
21
+ | ^^^ ^^ --
22
+
11
23
error: type parameters must be declared prior to associated type bindings
12
- --> $DIR/suggest-move-types.rs:21 :46
24
+ --> $DIR/suggest-move-types.rs:40 :46
13
25
|
14
26
LL | struct B<T, U, V, M: Three<A=(), B=(), C=(), T, U, V>> { //~ ERROR type parameters must be declared
15
27
| ^ ^ ^ must be declared prior to associated type bindings
@@ -21,8 +33,24 @@ help: move the type parameters prior to the first associated type binding
21
33
LL | struct B<T, U, V, M: Three<T, U, V, A=(), B=(), C=()>> { //~ ERROR type parameters must be declared
22
34
| ^^ ^^ ^^ --
23
35
36
+ error: generic arguments must declare lifetimes, types and associated type bindings in that order
37
+ --> $DIR/suggest-move-types.rs:47:80
38
+ |
39
+ LL | struct Bl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<A=(), B=(), C=(), T, U, V, 'a, 'b, 'c>> {
40
+ | ^ ^ ^ ^^ ^^ ^^ must be declared prior to type parameters
41
+ | | | | | |
42
+ | | | | | must be declared prior to type parameters
43
+ | | | | must be declared prior to type parameters
44
+ | | | must be declared prior to associated type bindings
45
+ | | must be declared prior to associated type bindings
46
+ | must be declared prior to associated type bindings
47
+ help: move the parameters
48
+ |
49
+ LL | struct Bl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<'a, 'b, 'c, T, U, V, A=(), B=(), C=()>> {
50
+ | ^^^ ^^^ ^^^ ^^ ^^ ^^ --
51
+
24
52
error: type parameters must be declared prior to associated type bindings
25
- --> $DIR/suggest-move-types.rs:28 :49
53
+ --> $DIR/suggest-move-types.rs:55 :49
26
54
|
27
55
LL | struct C<T, U, V, M: Three<T, A=(), B=(), C=(), U, V>> { //~ ERROR type parameters must be declared
28
56
| ^ ^ must be declared prior to associated type bindings
@@ -33,8 +61,23 @@ help: move the type parameters prior to the first associated type binding
33
61
LL | struct C<T, U, V, M: Three<T, U, V, A=(), B=(), C=()>> { //~ ERROR type parameters must be declared
34
62
| ^^ ^^ --
35
63
64
+ error: generic arguments must declare lifetimes, types and associated type bindings in that order
65
+ --> $DIR/suggest-move-types.rs:62:56
66
+ |
67
+ LL | struct Cl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<T, 'a, A=(), B=(), C=(), U, 'b, V, 'c>> {
68
+ | ^^ ^ ^^ ^ ^^ must be declared prior to type parameters
69
+ | | | | |
70
+ | | | | must be declared prior to associated type bindings
71
+ | | | must be declared prior to type parameters
72
+ | | must be declared prior to associated type bindings
73
+ | must be declared prior to type parameters
74
+ help: move the parameters
75
+ |
76
+ LL | struct Cl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<'a, 'b, 'c, T, U, V, A=(), B=(), C=()>> {
77
+ | ^^^ ^^^ ^^^ -- ^^ ^^ --
78
+
36
79
error: type parameters must be declared prior to associated type bindings
37
- --> $DIR/suggest-move-types.rs:35 :43
80
+ --> $DIR/suggest-move-types.rs:70 :43
38
81
|
39
82
LL | struct D<T, U, V, M: Three<T, A=(), B=(), U, C=(), V>> { //~ ERROR type parameters must be declared
40
83
| ^ ^ must be declared prior to associated type bindings
@@ -45,5 +88,20 @@ help: move the type parameters prior to the first associated type binding
45
88
LL | struct D<T, U, V, M: Three<T, U, V, A=(), B=(), C=()>> { //~ ERROR type parameters must be declared
46
89
| ^^ ^^ -- --
47
90
48
- error: aborting due to 4 previous errors
91
+ error: generic arguments must declare lifetimes, types and associated type bindings in that order
92
+ --> $DIR/suggest-move-types.rs:77:56
93
+ |
94
+ LL | struct Dl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<T, 'a, A=(), B=(), U, 'b, C=(), V, 'c>> {
95
+ | ^^ ^ ^^ ^ ^^ must be declared prior to type parameters
96
+ | | | | |
97
+ | | | | must be declared prior to associated type bindings
98
+ | | | must be declared prior to type parameters
99
+ | | must be declared prior to associated type bindings
100
+ | must be declared prior to type parameters
101
+ help: move the parameters
102
+ |
103
+ LL | struct Dl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<'a, 'b, 'c, T, U, V, A=(), B=(), C=()>> {
104
+ | ^^^ ^^^ ^^^ -- ^^ ^^ -- --
105
+
106
+ error: aborting due to 8 previous errors
49
107
0 commit comments