-error: associated type bindings must be declared after generic parameters
- --> $DIR/suggest-move-types.rs:28:20
+error: generic arguments must come before the first constraint
+ --> $DIR/suggest-move-types.rs:26:26
|
LL | struct A<T, M: One<A=(), T>> {
- | ----^^^
+ | ---- ^ generic argument
| |
- | this associated type binding should be moved after the generic parameters
+ | constraint
+ |
+help: move the constraint after the generic argument
+ |
+LL | struct A<T, M: One<T, A = ()>> {
+ | ^^^^^^^^^^^
-error: associated type bindings must be declared after generic parameters
- --> $DIR/suggest-move-types.rs:34:37
+error: generic arguments must come before the first constraint
+ --> $DIR/suggest-move-types.rs:33:43
|
LL | struct Al<'a, T, M: OneWithLifetime<A=(), T, 'a>> {
- | ----^^^^^^^
+ | ---- ^ ^^ generic arguments
| |
- | this associated type binding should be moved after the generic parameters
+ | constraint
+ |
+help: move the constraint after the generic arguments
+ |
+LL | struct Al<'a, T, M: OneWithLifetime<'a, T, A = ()>> {
+ | ^^^^^^^^^^^^^^^
-error: associated type bindings must be declared after generic parameters
- --> $DIR/suggest-move-types.rs:41:28
+error: generic arguments must come before the first constraint
+ --> $DIR/suggest-move-types.rs:40:46
|
LL | struct B<T, U, V, M: Three<A=(), B=(), C=(), T, U, V>> {
- | ----^^----^^----^^^^^^^^^
- | | | |
- | | | this associated type binding should be moved after the generic parameters
- | | this associated type binding should be moved after the generic parameters
- | this associated type binding should be moved after the generic parameters
+ | ---- ---- ---- ^ ^ ^ generic arguments
+ | |
+ | constraints
+ |
+help: move the constraints after the generic arguments
+ |
+LL | struct B<T, U, V, M: Three<T, U, V, A = (), B = (), C = ()>> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: associated type bindings must be declared after generic parameters
- --> $DIR/suggest-move-types.rs:48:53
+error: generic arguments must come before the first constraint
+ --> $DIR/suggest-move-types.rs:48:71
|
LL | struct Bl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<A=(), B=(), C=(), T, U, V, 'a, 'b, 'c>> {
- | ----^^----^^----^^^^^^^^^^^^^^^^^^^^^
- | | | |
- | | | this associated type binding should be moved after the generic parameters
- | | this associated type binding should be moved after the generic parameters
- | this associated type binding should be moved after the generic parameters
+ | ---- ---- ---- ^ ^ ^ ^^ ^^ ^^ generic arguments
+ | |
+ | constraints
+ |
+help: move the constraints after the generic arguments
+ |
+LL | struct Bl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<'a, 'b, 'c, T, U, V, A = (), B = (), C = ()>> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: associated type bindings must be declared after generic parameters
+error: generic arguments must come before the first constraint
--> $DIR/suggest-move-types.rs:57:28
|
LL | struct C<T, U, V, M: Three<T, A=(), B=(), C=(), U, V>> {
- | ^^^----^^----^^----^^^^^^
- | | | |
- | | | this associated type binding should be moved after the generic parameters
- | | this associated type binding should be moved after the generic parameters
- | this associated type binding should be moved after the generic parameters
+ | ^ ---- ---- ---- ^ ^ generic arguments
+ | |
+ | constraints
+ |
+help: move the constraints after the generic arguments
+ |
+LL | struct C<T, U, V, M: Three<T, U, V, A = (), B = (), C = ()>> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: associated type bindings must be declared after generic parameters
- --> $DIR/suggest-move-types.rs:64:53
+error: generic arguments must come before the first constraint
+ --> $DIR/suggest-move-types.rs:65:53
|
LL | struct Cl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<T, 'a, A=(), B=(), C=(), U, 'b, V, 'c>> {
- | ^^^^^^^----^^----^^----^^^^^^^^^^^^^^
- | | | |
- | | | this associated type binding should be moved after the generic parameters
- | | this associated type binding should be moved after the generic parameters
- | this associated type binding should be moved after the generic parameters
+ | ^ ^^ ---- ---- ---- ^ ^^ ^ ^^ generic arguments
+ | |
+ | constraints
+ |
+help: move the constraints after the generic arguments
+ |
+LL | struct Cl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<'a, 'b, 'c, T, U, V, A = (), B = (), C = ()>> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: associated type bindings must be declared after generic parameters
- --> $DIR/suggest-move-types.rs:73:28
+error: generic arguments must come before the first constraint
+ --> $DIR/suggest-move-types.rs:74:28
|
LL | struct D<T, U, V, M: Three<T, A=(), B=(), U, C=(), V>> {
- | ^^^----^^----^^^^^----^^^
- | | | |
- | | | this associated type binding should be moved after the generic parameters
- | | this associated type binding should be moved after the generic parameters
- | this associated type binding should be moved after the generic parameters
+ | ^ ---- ---- ^ ---- ^ generic arguments
+ | |
+ | constraints
+ |
+help: move the constraints after the generic arguments
+ |
+LL | struct D<T, U, V, M: Three<T, U, V, A = (), B = (), C = ()>> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: associated type bindings must be declared after generic parameters
- --> $DIR/suggest-move-types.rs:80:53
+error: generic arguments must come before the first constraint
+ --> $DIR/suggest-move-types.rs:82:53
|
LL | struct Dl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<T, 'a, A=(), B=(), U, 'b, C=(), V, 'c>> {
- | ^^^^^^^----^^----^^^^^^^^^----^^^^^^^
- | | | |
- | | | this associated type binding should be moved after the generic parameters
- | | this associated type binding should be moved after the generic parameters
- | this associated type binding should be moved after the generic parameters
+ | ^ ^^ ---- ---- ^ ^^ ---- ^ ^^ generic arguments
+ | |
+ | constraints
+ |
+help: move the constraints after the generic arguments
+ |
+LL | struct Dl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<'a, 'b, 'c, T, U, V, A = (), B = (), C = ()>> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0747]: type provided when a lifetime was expected
- --> $DIR/suggest-move-types.rs:34:43
+ --> $DIR/suggest-move-types.rs:33:43
|
LL | struct Al<'a, T, M: OneWithLifetime<A=(), T, 'a>> {
| ^
= note: lifetime arguments must be provided before type arguments
error[E0747]: lifetime provided when a type was expected
- --> $DIR/suggest-move-types.rs:64:56
+ --> $DIR/suggest-move-types.rs:65:56
|
LL | struct Cl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<T, 'a, A=(), B=(), C=(), U, 'b, V, 'c>> {
| ^^
= note: type arguments must be provided before lifetime arguments
error[E0747]: lifetime provided when a type was expected
- --> $DIR/suggest-move-types.rs:80:56
+ --> $DIR/suggest-move-types.rs:82:56
|
LL | struct Dl<'a, 'b, 'c, T, U, V, M: ThreeWithLifetime<T, 'a, A=(), B=(), U, 'b, C=(), V, 'c>> {
| ^^