From 636f518aac7430406dcb410cd7e46b4a217c265c Mon Sep 17 00:00:00 2001 From: Vitaly _Vi Shukela Date: Thu, 13 Sep 2018 15:54:12 +0300 Subject: Suggest && and || instead of 'and' and 'or' Closes #54109. --- src/libsyntax/parse/parser.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/libsyntax/parse') diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index f57fca2cfcf..a28157106ba 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -732,6 +732,12 @@ impl<'a> Parser<'a> { format!("expected {} here", expect))) }; let mut err = self.fatal(&msg_exp); + if self.token.is_ident_named("and") { + err.help("Use `&&` instead of `and` for the boolean operator"); + } + if self.token.is_ident_named("or") { + err.help("Use `||` instead of `or` for the boolean operator"); + } let sp = if self.token == token::Token::Eof { // This is EOF, don't want to point at the following char, but rather the last token self.prev_span @@ -4751,6 +4757,13 @@ impl<'a> Parser<'a> { e.span_label(sp, "expected `{`"); } + if self.token.is_ident_named("and") { + e.help("Use `&&` instead of `and` for the boolean operator"); + } + if self.token.is_ident_named("or") { + e.help("Use `||` instead of `or` for the boolean operator"); + } + // Check to see if the user has written something like // // if (cond) -- cgit 1.4.1-3-g733a5