Rollup merge of #70519 - estebank:constraints-before-args-spans, r=Centril
Tweak output of type params and constraints in the wrong order r? @Centril @varkor
This commit is contained in:
commit
eea91c308f
8 changed files with 146 additions and 61 deletions
|
|
@ -4,7 +4,12 @@ error: generic arguments must come before the first constraint
|
|||
LL | pub fn test<W, I: Trait<Item=(), W> >() {}
|
||||
| ------- ^ generic argument
|
||||
| |
|
||||
| the first constraint is provided here
|
||||
| constraint
|
||||
|
|
||||
help: move the constraint after the generic argument
|
||||
|
|
||||
LL | pub fn test<W, I: Trait<W, Item = ()> >() {}
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -4,79 +4,103 @@ error: generic arguments must come before the first constraint
|
|||
LL | struct A<T, M: One<A=(), T>> {
|
||||
| ---- ^ generic argument
|
||||
| |
|
||||
| the first constraint is provided here
|
||||
| constraint
|
||||
|
|
||||
help: move the constraint after the generic argument
|
||||
|
|
||||
LL | struct A<T, M: One<T, A = ()>> {
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
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 argument
|
||||
| | |
|
||||
| | generic argument
|
||||
| the first constraint is provided here
|
||||
| ---- ^ ^^ generic arguments
|
||||
| |
|
||||
| constraint
|
||||
|
|
||||
help: move the constraint after the generic arguments
|
||||
|
|
||||
LL | struct Al<'a, T, M: OneWithLifetime<'a, T, A = ()>> {
|
||||
| ^^^^^^^^^^^^^^^
|
||||
|
||||
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>> {
|
||||
| ---- ^ ^ ^ generic argument
|
||||
| | | |
|
||||
| | | generic argument
|
||||
| | generic argument
|
||||
| the first constraint is provided here
|
||||
| ---- ---- ---- ^ ^ ^ 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: 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>> {
|
||||
| ---- ^ ^ ^ ^^ ^^ ^^ generic argument
|
||||
| | | | | | |
|
||||
| | | | | | generic argument
|
||||
| | | | | generic argument
|
||||
| | | | generic argument
|
||||
| | | generic argument
|
||||
| | generic argument
|
||||
| the first constraint is provided here
|
||||
| ---- ---- ---- ^ ^ ^ ^^ ^^ ^^ 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: generic arguments must come before the first constraint
|
||||
--> $DIR/suggest-move-types.rs:57:49
|
||||
--> $DIR/suggest-move-types.rs:57:28
|
||||
|
|
||||
LL | struct C<T, U, V, M: Three<T, A=(), B=(), C=(), U, V>> {
|
||||
| ---- ^ ^ generic argument
|
||||
| | |
|
||||
| | generic argument
|
||||
| the first constraint is provided here
|
||||
| ^ ---- ---- ---- ^ ^ 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: generic arguments must come before the first constraint
|
||||
--> $DIR/suggest-move-types.rs:65:78
|
||||
--> $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>> {
|
||||
| ---- ^ ^^ ^ ^^ generic argument
|
||||
| | | | |
|
||||
| | | | generic argument
|
||||
| | | generic argument
|
||||
| | generic argument
|
||||
| the first constraint is provided here
|
||||
| ^ ^^ ---- ---- ---- ^ ^^ ^ ^^ 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: generic arguments must come before the first constraint
|
||||
--> $DIR/suggest-move-types.rs:74:43
|
||||
--> $DIR/suggest-move-types.rs:74:28
|
||||
|
|
||||
LL | struct D<T, U, V, M: Three<T, A=(), B=(), U, C=(), V>> {
|
||||
| ---- ^ ^ generic argument
|
||||
| | |
|
||||
| | generic argument
|
||||
| the first constraint is provided here
|
||||
| ^ ---- ---- ^ ---- ^ 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: generic arguments must come before the first constraint
|
||||
--> $DIR/suggest-move-types.rs:82:72
|
||||
--> $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>> {
|
||||
| ---- ^ ^^ ^ ^^ generic argument
|
||||
| | | | |
|
||||
| | | | generic argument
|
||||
| | | generic argument
|
||||
| | generic argument
|
||||
| the first constraint is provided here
|
||||
| ^ ^^ ---- ---- ^ ^^ ---- ^ ^^ 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:33:43
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue