Skip to content

Commit

Permalink
add the label back but make it shorter
Browse files Browse the repository at this point in the history
  • Loading branch information
Centril committed Mar 27, 2020
1 parent 2ddc359 commit 42c5cfd
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 17 deletions.
3 changes: 2 additions & 1 deletion src/librustc_ast_passes/ast_validation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -660,10 +660,11 @@ impl<'a> AstValidator<'a> {
// ...and then error:
self.err_handler()
.struct_span_err(
misplaced_args,
misplaced_args.clone(),
"generic arguments must come before the first constraint",
)
.span_label(first.unwrap(), "the first constraint is provided here")
.span_labels(misplaced_args, "generic argument")
.emit();
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/parser/issue-32214.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ error: generic arguments must come before the first constraint
--> $DIR/issue-32214.rs:3:34
|
LL | pub fn test<W, I: Trait<Item=(), W> >() {}
| ------- ^
| ------- ^ generic argument
| |
| the first constraint is provided here

Expand Down
46 changes: 31 additions & 15 deletions src/test/ui/suggestions/suggest-move-types.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -2,64 +2,80 @@ 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
| |
| the first constraint is provided here

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

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

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

error: generic arguments must come before the first constraint
--> $DIR/suggest-move-types.rs:57:49
|
LL | struct C<T, U, V, M: Three<T, A=(), B=(), C=(), U, V>> {
| ---- ^ ^
| |
| ---- ^ ^ generic argument
| | |
| | generic argument
| the first constraint is provided here

error: generic arguments must come before the first constraint
--> $DIR/suggest-move-types.rs:65:78
|
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

error: generic arguments must come before the first constraint
--> $DIR/suggest-move-types.rs:74:43
|
LL | struct D<T, U, V, M: Three<T, A=(), B=(), U, C=(), V>> {
| ---- ^ ^
| |
| ---- ^ ^ generic argument
| | |
| | generic argument
| the first constraint is provided here

error: generic arguments must come before the first constraint
--> $DIR/suggest-move-types.rs:82:72
|
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

error[E0747]: type provided when a lifetime was expected
Expand Down

0 comments on commit 42c5cfd

Please sign in to comment.