about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2020-03-27 21:52:09 +0100
committerMazdak Farrokhzad <twingoow@gmail.com>2020-03-27 21:52:09 +0100
commit42c5cfdfda24529f424a6175fa1a48e5542cb824 (patch)
tree5bb88a6c88607d794d597a1a26741e6272b5232d
parent2ddc35997cd7147f007943e50ef5f942d20ad7c7 (diff)
downloadrust-42c5cfdfda24529f424a6175fa1a48e5542cb824.tar.gz
rust-42c5cfdfda24529f424a6175fa1a48e5542cb824.zip
add the label back but make it shorter
-rw-r--r--src/librustc_ast_passes/ast_validation.rs3
-rw-r--r--src/test/ui/parser/issue-32214.stderr2
-rw-r--r--src/test/ui/suggestions/suggest-move-types.stderr46
3 files changed, 34 insertions, 17 deletions
diff --git a/src/librustc_ast_passes/ast_validation.rs b/src/librustc_ast_passes/ast_validation.rs
index 592d3bf2e05..de7ae10723f 100644
--- a/src/librustc_ast_passes/ast_validation.rs
+++ b/src/librustc_ast_passes/ast_validation.rs
@@ -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();
     }
 }
diff --git a/src/test/ui/parser/issue-32214.stderr b/src/test/ui/parser/issue-32214.stderr
index d25d3a09633..742f4fdc38b 100644
--- a/src/test/ui/parser/issue-32214.stderr
+++ b/src/test/ui/parser/issue-32214.stderr
@@ -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
 
diff --git a/src/test/ui/suggestions/suggest-move-types.stderr b/src/test/ui/suggestions/suggest-move-types.stderr
index a0a8c3fc3ba..4dd0613757a 100644
--- a/src/test/ui/suggestions/suggest-move-types.stderr
+++ b/src/test/ui/suggestions/suggest-move-types.stderr
@@ -2,7 +2,7 @@ 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
 
@@ -10,56 +10,72 @@ 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