11error: 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
33 |
44LL | struct A<T, M: One<A=(), T>> { //~ ERROR type parameters must be declared
55 | ^ must be declared prior to associated type bindings
@@ -8,8 +8,20 @@ help: move the type parameter prior to the first associated type binding
88LL | struct A<T, M: One<T, A=()>> { //~ ERROR type parameters must be declared
99 | ^^ --
1010
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+
1123error: 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
1325 |
1426LL | struct B<T, U, V, M: Three<A=(), B=(), C=(), T, U, V>> { //~ ERROR type parameters must be declared
1527 | ^ ^ ^ must be declared prior to associated type bindings
@@ -21,8 +33,24 @@ help: move the type parameters prior to the first associated type binding
2133LL | struct B<T, U, V, M: Three<T, U, V, A=(), B=(), C=()>> { //~ ERROR type parameters must be declared
2234 | ^^ ^^ ^^ --
2335
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+
2452error: 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
2654 |
2755LL | struct C<T, U, V, M: Three<T, A=(), B=(), C=(), U, V>> { //~ ERROR type parameters must be declared
2856 | ^ ^ must be declared prior to associated type bindings
@@ -33,8 +61,23 @@ help: move the type parameters prior to the first associated type binding
3361LL | struct C<T, U, V, M: Three<T, U, V, A=(), B=(), C=()>> { //~ ERROR type parameters must be declared
3462 | ^^ ^^ --
3563
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+
3679error: 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
3881 |
3982LL | struct D<T, U, V, M: Three<T, A=(), B=(), U, C=(), V>> { //~ ERROR type parameters must be declared
4083 | ^ ^ must be declared prior to associated type bindings
@@ -45,5 +88,20 @@ help: move the type parameters prior to the first associated type binding
4588LL | struct D<T, U, V, M: Three<T, U, V, A=(), B=(), C=()>> { //~ ERROR type parameters must be declared
4689 | ^^ ^^ -- --
4790
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
49107
0 commit comments