diff options
| author | Fabian Wolff <fabian.wolff@alumni.ethz.ch> | 2021-10-04 22:13:00 +0200 |
|---|---|---|
| committer | Fabian Wolff <fabian.wolff@alumni.ethz.ch> | 2021-10-04 22:13:00 +0200 |
| commit | 079c075f24d2aae84cd6715f350cf56420816f63 (patch) | |
| tree | 9aef3bf0be630852c057cf9014a39bd668d38ec6 | |
| parent | cf19131cb356591d27dded5bdb1d00df1bd077c9 (diff) | |
| download | rust-079c075f24d2aae84cd6715f350cf56420816f63.tar.gz rust-079c075f24d2aae84cd6715f350cf56420816f63.zip | |
Use `TokenKind::similar_tokens()`
| -rw-r--r-- | compiler/rustc_ast/src/token.rs | 1 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/parser/expr.rs | 5 |
2 files changed, 5 insertions, 1 deletions
diff --git a/compiler/rustc_ast/src/token.rs b/compiler/rustc_ast/src/token.rs index 3a65ffe41ae..db066d7c6a5 100644 --- a/compiler/rustc_ast/src/token.rs +++ b/compiler/rustc_ast/src/token.rs @@ -295,6 +295,7 @@ impl TokenKind { match *self { Comma => Some(vec![Dot, Lt, Semi]), Semi => Some(vec![Colon, Comma]), + FatArrow => Some(vec![Eq, RArrow]), _ => None, } } diff --git a/compiler/rustc_parse/src/parser/expr.rs b/compiler/rustc_parse/src/parser/expr.rs index e6a0c4c7952..79f46be73f6 100644 --- a/compiler/rustc_parse/src/parser/expr.rs +++ b/compiler/rustc_parse/src/parser/expr.rs @@ -2324,7 +2324,10 @@ impl<'a> Parser<'a> { let arrow_span = this.token.span; if let Err(mut err) = this.expect(&token::FatArrow) { // We might have a `=>` -> `=` or `->` typo (issue #89396). - if let token::Eq | token::RArrow = this.token.kind { + if TokenKind::FatArrow + .similar_tokens() + .map_or(false, |similar_tokens| similar_tokens.contains(&this.token.kind)) + { err.span_suggestion( this.token.span, "try using a fat arrow here", |
