about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorVeera <sveera.2001@gmail.com>2024-09-02 12:43:35 -0400
committerVeera <sveera.2001@gmail.com>2024-09-06 23:07:45 -0400
commit14e86eb7d93ebda57d2008ae37e88ac2a0604570 (patch)
tree695a72c946321afcf5c5a979b0c7268a461ad746 /tests
parent265cd14cd46e740bf2ac0fa68f0eeafcd83984e0 (diff)
downloadrust-14e86eb7d93ebda57d2008ae37e88ac2a0604570.tar.gz
rust-14e86eb7d93ebda57d2008ae37e88ac2a0604570.zip
Add Suggestions for Misspelled Keywords
This PR detects misspelled keywords using two heuristics:

1. Lowercasing the unexpected identifier.
2. Using edit distance to find a keyword similar to the unexpected identifier.

However, it does not detect each and every misspelled keyword to
minimize false positives and ambiguities. More details about the
implementation can be found in the comments.
Diffstat (limited to 'tests')
-rw-r--r--tests/ui/parser/extern-crate-unexpected-token.stderr5
-rw-r--r--tests/ui/parser/issues/issue-70549-resolve-after-recovered-self-ctor.stderr33
-rw-r--r--tests/ui/parser/misspelled-keywords/assoc-type.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/async-move.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/const-fn.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/const-generics.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/const.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/for-loop.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/hrdt.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/impl-block.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/impl-return.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/impl-trait-for.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/impl-trait.stderr4
-rw-r--r--tests/ui/parser/misspelled-keywords/let-else.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/let-mut.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/let.stderr10
-rw-r--r--tests/ui/parser/misspelled-keywords/match.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/mod.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/pub-fn.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/ref.stderr13
-rw-r--r--tests/ui/parser/misspelled-keywords/return.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/static-mut.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/static.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/struct.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/unsafe-fn.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/use.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/where-clause.stderr5
-rw-r--r--tests/ui/parser/misspelled-keywords/while-loop.rs2
-rw-r--r--tests/ui/parser/misspelled-keywords/while-loop.stderr5
29 files changed, 169 insertions, 13 deletions
diff --git a/tests/ui/parser/extern-crate-unexpected-token.stderr b/tests/ui/parser/extern-crate-unexpected-token.stderr
index f83bb3e3e35..951b0274b0d 100644
--- a/tests/ui/parser/extern-crate-unexpected-token.stderr
+++ b/tests/ui/parser/extern-crate-unexpected-token.stderr
@@ -3,6 +3,11 @@ error: expected one of `crate` or `{`, found `crte`
    |
 LL | extern crte foo;
    |        ^^^^ expected one of `crate` or `{`
+   |
+help: there is a keyword `crate` with a similar name
+   |
+LL | extern crate foo;
+   |        ~~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/issues/issue-70549-resolve-after-recovered-self-ctor.stderr b/tests/ui/parser/issues/issue-70549-resolve-after-recovered-self-ctor.stderr
index 79c574ead61..00f372bc008 100644
--- a/tests/ui/parser/issues/issue-70549-resolve-after-recovered-self-ctor.stderr
+++ b/tests/ui/parser/issues/issue-70549-resolve-after-recovered-self-ctor.stderr
@@ -8,10 +8,16 @@ error: expected one of `:`, `@`, or `|`, found keyword `Self`
   --> $DIR/issue-70549-resolve-after-recovered-self-ctor.rs:4:17
    |
 LL |     fn foo(&mur Self) {}
-   |            -----^^^^
-   |            |    |
-   |            |    expected one of `:`, `@`, or `|`
-   |            help: declare the type after the parameter binding: `<identifier>: <type>`
+   |                 ^^^^ expected one of `:`, `@`, or `|`
+   |
+help: there is a keyword `mut` with a similar name
+   |
+LL |     fn foo(&mut Self) {}
+   |             ~~~
+help: declare the type after the parameter binding
+   |
+LL |     fn foo(<identifier>: <type>) {}
+   |            ~~~~~~~~~~~~~~~~~~~~
 
 error: unexpected lifetime `'static` in pattern
   --> $DIR/issue-70549-resolve-after-recovered-self-ctor.rs:8:13
@@ -35,16 +41,27 @@ error: expected one of `:`, `@`, or `|`, found keyword `Self`
   --> $DIR/issue-70549-resolve-after-recovered-self-ctor.rs:8:25
    |
 LL |     fn bar(&'static mur Self) {}
-   |            -------------^^^^
-   |            |            |
-   |            |            expected one of `:`, `@`, or `|`
-   |            help: declare the type after the parameter binding: `<identifier>: <type>`
+   |                         ^^^^ expected one of `:`, `@`, or `|`
+   |
+help: there is a keyword `mut` with a similar name
+   |
+LL |     fn bar(&'static mut Self) {}
+   |                     ~~~
+help: declare the type after the parameter binding
+   |
+LL |     fn bar(<identifier>: <type>) {}
+   |            ~~~~~~~~~~~~~~~~~~~~
 
 error: expected one of `:`, `@`, or `|`, found keyword `Self`
   --> $DIR/issue-70549-resolve-after-recovered-self-ctor.rs:14:17
    |
 LL |     fn baz(&mur Self @ _) {}
    |                 ^^^^ expected one of `:`, `@`, or `|`
+   |
+help: there is a keyword `mut` with a similar name
+   |
+LL |     fn baz(&mut Self @ _) {}
+   |             ~~~
 
 error[E0533]: expected unit struct, found self constructor `Self`
   --> $DIR/issue-70549-resolve-after-recovered-self-ctor.rs:4:17
diff --git a/tests/ui/parser/misspelled-keywords/assoc-type.stderr b/tests/ui/parser/misspelled-keywords/assoc-type.stderr
index 1318bee3da8..677da53e340 100644
--- a/tests/ui/parser/misspelled-keywords/assoc-type.stderr
+++ b/tests/ui/parser/misspelled-keywords/assoc-type.stderr
@@ -8,6 +8,11 @@ LL |     Type Result = u8;
 LL |
 LL | }
    | - the item list ends here
+   |
+help: write keyword `type` in lowercase
+   |
+LL |     type Result = u8;
+   |     ~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/async-move.stderr b/tests/ui/parser/misspelled-keywords/async-move.stderr
index a98bb23f5d6..4be4b56e505 100644
--- a/tests/ui/parser/misspelled-keywords/async-move.stderr
+++ b/tests/ui/parser/misspelled-keywords/async-move.stderr
@@ -3,6 +3,11 @@ error: expected one of `move`, `|`, or `||`, found `Move`
    |
 LL |     async Move {}
    |           ^^^^ expected one of `move`, `|`, or `||`
+   |
+help: write keyword `move` in lowercase
+   |
+LL |     async move {}
+   |           ~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/const-fn.stderr b/tests/ui/parser/misspelled-keywords/const-fn.stderr
index bdca2657ef3..5646b26143c 100644
--- a/tests/ui/parser/misspelled-keywords/const-fn.stderr
+++ b/tests/ui/parser/misspelled-keywords/const-fn.stderr
@@ -3,6 +3,11 @@ error: expected one of `!` or `::`, found keyword `fn`
    |
 LL | cnst fn code() {}
    |      ^^ expected one of `!` or `::`
+   |
+help: there is a keyword `const` with a similar name
+   |
+LL | const fn code() {}
+   | ~~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/const-generics.stderr b/tests/ui/parser/misspelled-keywords/const-generics.stderr
index f52544ac45c..fd59999ab63 100644
--- a/tests/ui/parser/misspelled-keywords/const-generics.stderr
+++ b/tests/ui/parser/misspelled-keywords/const-generics.stderr
@@ -3,6 +3,11 @@ error: expected one of `,`, `:`, `=`, or `>`, found `N`
    |
 LL | fn foo<consta N: usize>(_arr: [i32; N]) {}
    |               ^ expected one of `,`, `:`, `=`, or `>`
+   |
+help: there is a keyword `const` with a similar name
+   |
+LL | fn foo<const N: usize>(_arr: [i32; N]) {}
+   |        ~~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/const.stderr b/tests/ui/parser/misspelled-keywords/const.stderr
index de1ad9d2bf7..35e4d731db7 100644
--- a/tests/ui/parser/misspelled-keywords/const.stderr
+++ b/tests/ui/parser/misspelled-keywords/const.stderr
@@ -3,6 +3,11 @@ error: expected one of `!` or `::`, found `A`
    |
 LL | cons A: u8 = 10;
    |      ^ expected one of `!` or `::`
+   |
+help: there is a keyword `const` with a similar name
+   |
+LL | const A: u8 = 10;
+   | ~~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/for-loop.stderr b/tests/ui/parser/misspelled-keywords/for-loop.stderr
index cbf3b43fa58..d2236ab074d 100644
--- a/tests/ui/parser/misspelled-keywords/for-loop.stderr
+++ b/tests/ui/parser/misspelled-keywords/for-loop.stderr
@@ -3,6 +3,11 @@ error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found
    |
 LL |     form i in 1..10 {}
    |          ^ expected one of 8 possible tokens
+   |
+help: there is a keyword `for` with a similar name
+   |
+LL |     for i in 1..10 {}
+   |     ~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/hrdt.stderr b/tests/ui/parser/misspelled-keywords/hrdt.stderr
index 102ce7014e4..5393a730506 100644
--- a/tests/ui/parser/misspelled-keywords/hrdt.stderr
+++ b/tests/ui/parser/misspelled-keywords/hrdt.stderr
@@ -3,6 +3,11 @@ error: expected one of `!`, `(`, `+`, `::`, `<`, `where`, or `{`, found keyword
    |
 LL |     Where for<'a> F: Fn(&'a (u8, u16)) -> &'a u8,
    |           ^^^ expected one of 7 possible tokens
+   |
+help: write keyword `where` in lowercase (notice the capitalization difference)
+   |
+LL |     where for<'a> F: Fn(&'a (u8, u16)) -> &'a u8,
+   |     ~~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/impl-block.stderr b/tests/ui/parser/misspelled-keywords/impl-block.stderr
index e0f0f8ed18f..d86ae326ce2 100644
--- a/tests/ui/parser/misspelled-keywords/impl-block.stderr
+++ b/tests/ui/parser/misspelled-keywords/impl-block.stderr
@@ -3,6 +3,11 @@ error: expected one of `!` or `::`, found `Human`
    |
 LL | ipml Human {}
    |      ^^^^^ expected one of `!` or `::`
+   |
+help: there is a keyword `impl` with a similar name
+   |
+LL | impl Human {}
+   | ~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/impl-return.stderr b/tests/ui/parser/misspelled-keywords/impl-return.stderr
index bdcf831a88a..883f5cea73e 100644
--- a/tests/ui/parser/misspelled-keywords/impl-return.stderr
+++ b/tests/ui/parser/misspelled-keywords/impl-return.stderr
@@ -3,6 +3,11 @@ error: expected one of `!`, `(`, `+`, `::`, `<`, `where`, or `{`, found `Display
    |
 LL | fn code() -> Impl Display {}
    |                   ^^^^^^^ expected one of 7 possible tokens
+   |
+help: write keyword `impl` in lowercase (notice the capitalization difference)
+   |
+LL | fn code() -> impl Display {}
+   |              ~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/impl-trait-for.stderr b/tests/ui/parser/misspelled-keywords/impl-trait-for.stderr
index 64ca66794ad..8dd5a4645f3 100644
--- a/tests/ui/parser/misspelled-keywords/impl-trait-for.stderr
+++ b/tests/ui/parser/misspelled-keywords/impl-trait-for.stderr
@@ -3,6 +3,11 @@ error: expected one of `!`, `(`, `+`, `::`, `<`, `where`, or `{`, found `Human`
    |
 LL | impl Debug form Human {}
    |                 ^^^^^ expected one of 7 possible tokens
+   |
+help: there is a keyword `for` with a similar name
+   |
+LL | impl Debug for Human {}
+   |            ~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/impl-trait.stderr b/tests/ui/parser/misspelled-keywords/impl-trait.stderr
index ca0918e820f..15a8f99b8b1 100644
--- a/tests/ui/parser/misspelled-keywords/impl-trait.stderr
+++ b/tests/ui/parser/misspelled-keywords/impl-trait.stderr
@@ -4,6 +4,10 @@ error: expected one of `(`, `+`, `,`, `::`, `<`, `=`, or `>`, found `Debug`
 LL | fn code<T: impll Debug>() -> u8 {}
    |                  ^^^^^ expected one of 7 possible tokens
    |
+help: there is a keyword `impl` with a similar name
+   |
+LL | fn code<T: impl Debug>() -> u8 {}
+   |            ~~~~
 help: you might have meant to end the type parameters here
    |
 LL | fn code<T: impll> Debug>() -> u8 {}
diff --git a/tests/ui/parser/misspelled-keywords/let-else.stderr b/tests/ui/parser/misspelled-keywords/let-else.stderr
index 826e7de4b11..6f41a0d99db 100644
--- a/tests/ui/parser/misspelled-keywords/let-else.stderr
+++ b/tests/ui/parser/misspelled-keywords/let-else.stderr
@@ -3,6 +3,11 @@ error: expected one of `.`, `;`, `?`, `else`, or an operator, found `elze`
    |
 LL |     let Some(a) = Some(10) elze {}
    |                            ^^^^ expected one of `.`, `;`, `?`, `else`, or an operator
+   |
+help: there is a keyword `else` with a similar name
+   |
+LL |     let Some(a) = Some(10) else {}
+   |                            ~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/let-mut.stderr b/tests/ui/parser/misspelled-keywords/let-mut.stderr
index 449f0133d65..766d2a04909 100644
--- a/tests/ui/parser/misspelled-keywords/let-mut.stderr
+++ b/tests/ui/parser/misspelled-keywords/let-mut.stderr
@@ -3,6 +3,11 @@ error: expected one of `:`, `;`, `=`, `@`, or `|`, found `a`
    |
 LL |     let muta a = 10;
    |              ^ expected one of `:`, `;`, `=`, `@`, or `|`
+   |
+help: there is a keyword `mut` with a similar name
+   |
+LL |     let mut a = 10;
+   |         ~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/let.stderr b/tests/ui/parser/misspelled-keywords/let.stderr
index 77aeb21369c..c2dcdef541d 100644
--- a/tests/ui/parser/misspelled-keywords/let.stderr
+++ b/tests/ui/parser/misspelled-keywords/let.stderr
@@ -3,12 +3,22 @@ error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found
    |
 LL |     Let a = 10;
    |         ^ expected one of 8 possible tokens
+   |
+help: write keyword `let` in lowercase
+   |
+LL |     let a = 10;
+   |     ~~~
 
 error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `a`
   --> $DIR/let.rs:7:10
    |
 LL |     lett a = 10;
    |          ^ expected one of 8 possible tokens
+   |
+help: there is a keyword `let` with a similar name
+   |
+LL |     let a = 10;
+   |     ~~~
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/parser/misspelled-keywords/match.stderr b/tests/ui/parser/misspelled-keywords/match.stderr
index bc3eece1c9d..90780ebd38e 100644
--- a/tests/ui/parser/misspelled-keywords/match.stderr
+++ b/tests/ui/parser/misspelled-keywords/match.stderr
@@ -3,6 +3,11 @@ error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found
    |
 LL |     matche a {}
    |            ^ expected one of 8 possible tokens
+   |
+help: there is a keyword `match` with a similar name
+   |
+LL |     match a {}
+   |     ~~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/mod.stderr b/tests/ui/parser/misspelled-keywords/mod.stderr
index 135f70ccfcb..6daeb4e5a15 100644
--- a/tests/ui/parser/misspelled-keywords/mod.stderr
+++ b/tests/ui/parser/misspelled-keywords/mod.stderr
@@ -3,6 +3,11 @@ error: expected one of `!` or `::`, found `parser`
    |
 LL | mode parser;
    |      ^^^^^^ expected one of `!` or `::`
+   |
+help: there is a keyword `mod` with a similar name
+   |
+LL | mod parser;
+   | ~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/pub-fn.stderr b/tests/ui/parser/misspelled-keywords/pub-fn.stderr
index 15715514e66..82ca7105a49 100644
--- a/tests/ui/parser/misspelled-keywords/pub-fn.stderr
+++ b/tests/ui/parser/misspelled-keywords/pub-fn.stderr
@@ -3,6 +3,11 @@ error: expected one of `#`, `async`, `auto`, `const`, `default`, `enum`, `extern
    |
 LL | puB fn code() {}
    | ^^^ expected one of 21 possible tokens
+   |
+help: write keyword `pub` in lowercase
+   |
+LL | pub fn code() {}
+   | ~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/ref.stderr b/tests/ui/parser/misspelled-keywords/ref.stderr
index 2c23fe7a0af..3a79b7bdb00 100644
--- a/tests/ui/parser/misspelled-keywords/ref.stderr
+++ b/tests/ui/parser/misspelled-keywords/ref.stderr
@@ -2,9 +2,16 @@ error: expected one of `)`, `,`, `@`, or `|`, found `list`
   --> $DIR/ref.rs:4:19
    |
 LL |         Some(refe list) => println!("{list:?}"),
-   |                  -^^^^ expected one of `)`, `,`, `@`, or `|`
-   |                  |
-   |                  help: missing `,`
+   |                   ^^^^ expected one of `)`, `,`, `@`, or `|`
+   |
+help: there is a keyword `ref` with a similar name
+   |
+LL |         Some(ref list) => println!("{list:?}"),
+   |              ~~~
+help: missing `,`
+   |
+LL |         Some(refe, list) => println!("{list:?}"),
+   |                  +
 
 error[E0023]: this pattern has 2 fields, but the corresponding tuple variant has 1 field
   --> $DIR/ref.rs:4:14
diff --git a/tests/ui/parser/misspelled-keywords/return.stderr b/tests/ui/parser/misspelled-keywords/return.stderr
index 94789e7a92c..efa45f32299 100644
--- a/tests/ui/parser/misspelled-keywords/return.stderr
+++ b/tests/ui/parser/misspelled-keywords/return.stderr
@@ -3,6 +3,11 @@ error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found
    |
 LL |     returnn a;
    |             ^ expected one of 8 possible tokens
+   |
+help: there is a keyword `return` with a similar name
+   |
+LL |     return a;
+   |     ~~~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/static-mut.stderr b/tests/ui/parser/misspelled-keywords/static-mut.stderr
index 1e5d25c709e..3c25af548a3 100644
--- a/tests/ui/parser/misspelled-keywords/static-mut.stderr
+++ b/tests/ui/parser/misspelled-keywords/static-mut.stderr
@@ -3,6 +3,11 @@ error: expected one of `:`, `;`, or `=`, found `a`
    |
 LL | static muta a: u8 = 0;
    |             ^ expected one of `:`, `;`, or `=`
+   |
+help: there is a keyword `mut` with a similar name
+   |
+LL | static mut a: u8 = 0;
+   |        ~~~
 
 error: missing type for `static` item
   --> $DIR/static-mut.rs:1:12
diff --git a/tests/ui/parser/misspelled-keywords/static.stderr b/tests/ui/parser/misspelled-keywords/static.stderr
index 698cd47b169..003aa3929bc 100644
--- a/tests/ui/parser/misspelled-keywords/static.stderr
+++ b/tests/ui/parser/misspelled-keywords/static.stderr
@@ -3,6 +3,11 @@ error: expected one of `!` or `::`, found `a`
    |
 LL | Static a = 0;
    |        ^ expected one of `!` or `::`
+   |
+help: write keyword `static` in lowercase (notice the capitalization difference)
+   |
+LL | static a = 0;
+   | ~~~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/struct.stderr b/tests/ui/parser/misspelled-keywords/struct.stderr
index 8f678f4ad2e..559182f9c8f 100644
--- a/tests/ui/parser/misspelled-keywords/struct.stderr
+++ b/tests/ui/parser/misspelled-keywords/struct.stderr
@@ -3,6 +3,11 @@ error: expected one of `!` or `::`, found `Foor`
    |
 LL | Struct Foor {
    |        ^^^^ expected one of `!` or `::`
+   |
+help: write keyword `struct` in lowercase (notice the capitalization difference)
+   |
+LL | struct Foor {
+   | ~~~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/unsafe-fn.stderr b/tests/ui/parser/misspelled-keywords/unsafe-fn.stderr
index 2013df1c34a..b13281b0395 100644
--- a/tests/ui/parser/misspelled-keywords/unsafe-fn.stderr
+++ b/tests/ui/parser/misspelled-keywords/unsafe-fn.stderr
@@ -3,6 +3,11 @@ error: expected one of `!` or `::`, found keyword `fn`
    |
 LL | unsafee fn code() {}
    |         ^^ expected one of `!` or `::`
+   |
+help: there is a keyword `unsafe` with a similar name
+   |
+LL | unsafe fn code() {}
+   | ~~~~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/use.stderr b/tests/ui/parser/misspelled-keywords/use.stderr
index 4ca01dedd6b..db6dffdb613 100644
--- a/tests/ui/parser/misspelled-keywords/use.stderr
+++ b/tests/ui/parser/misspelled-keywords/use.stderr
@@ -3,6 +3,11 @@ error: expected one of `!` or `::`, found `a`
    |
 LL | usee a::b;
    |      ^ expected one of `!` or `::`
+   |
+help: there is a keyword `use` with a similar name
+   |
+LL | use a::b;
+   | ~~~
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/where-clause.stderr b/tests/ui/parser/misspelled-keywords/where-clause.stderr
index 4b3f996c112..5143c30ca51 100644
--- a/tests/ui/parser/misspelled-keywords/where-clause.stderr
+++ b/tests/ui/parser/misspelled-keywords/where-clause.stderr
@@ -5,6 +5,11 @@ LL | fn code<T>() -> u8
    |                   - expected one of 7 possible tokens
 LL | wheree
    | ^^^^^^ unexpected token
+   |
+help: there is a keyword `where` with a similar name
+   |
+LL | where
+   |
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/parser/misspelled-keywords/while-loop.rs b/tests/ui/parser/misspelled-keywords/while-loop.rs
index 8d19b3c5722..37d337f3f19 100644
--- a/tests/ui/parser/misspelled-keywords/while-loop.rs
+++ b/tests/ui/parser/misspelled-keywords/while-loop.rs
@@ -1,7 +1,5 @@
 fn main() {
     whilee a < b {
     //~^ ERROR expected one of
-
     }
 }
-
diff --git a/tests/ui/parser/misspelled-keywords/while-loop.stderr b/tests/ui/parser/misspelled-keywords/while-loop.stderr
index 8147a5de696..7d150443f57 100644
--- a/tests/ui/parser/misspelled-keywords/while-loop.stderr
+++ b/tests/ui/parser/misspelled-keywords/while-loop.stderr
@@ -3,6 +3,11 @@ error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found
    |
 LL |     whilee a < b {
    |            ^ expected one of 8 possible tokens
+   |
+help: there is a keyword `while` with a similar name
+   |
+LL |     while a < b {
+   |     ~~~~~
 
 error: aborting due to 1 previous error