From d61d30d9a272f8c2cce374a6f8aca5ae5d3de124 Mon Sep 17 00:00:00 2001 From: Michael Goulet Date: Tue, 24 May 2022 14:14:41 -0700 Subject: [PATCH] Minor improvement on else-no-if diagnostic --- compiler/rustc_parse/src/parser/expr.rs | 9 +-------- src/test/ui/parser/else-no-if.stderr | 12 ++---------- 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/compiler/rustc_parse/src/parser/expr.rs b/compiler/rustc_parse/src/parser/expr.rs index 37e3465694131..bb6d892138a38 100644 --- a/compiler/rustc_parse/src/parser/expr.rs +++ b/compiler/rustc_parse/src/parser/expr.rs @@ -2291,16 +2291,9 @@ impl<'a> Parser<'a> { .span_label(else_span, "expected an `if` or a block after this `else`") .span_suggestion( cond.span.shrink_to_lo(), - "add an `if` if this is the condition to an chained `if` statement after the `else`", + "add an `if` if this is the condition of a chained `else if` statement", "if ".to_string(), Applicability::MaybeIncorrect, - ).multipart_suggestion( - "... otherwise, place this expression inside of a block if it is not an `if` condition", - vec![ - (cond.span.shrink_to_lo(), "{ ".to_string()), - (cond.span.shrink_to_hi(), " }".to_string()), - ], - Applicability::MaybeIncorrect, ) .emit(); self.parse_if_after_cond(AttrVec::new(), cond.span.shrink_to_lo(), cond)? diff --git a/src/test/ui/parser/else-no-if.stderr b/src/test/ui/parser/else-no-if.stderr index 27abbadd7ad24..b9c1a75276c1f 100644 --- a/src/test/ui/parser/else-no-if.stderr +++ b/src/test/ui/parser/else-no-if.stderr @@ -6,14 +6,10 @@ LL | } else false { | | | expected an `if` or a block after this `else` | -help: add an `if` if this is the condition to an chained `if` statement after the `else` +help: add an `if` if this is the condition of a chained `else if` statement | LL | } else if false { | ++ -help: ... otherwise, place this expression inside of a block if it is not an `if` condition - | -LL | } else { false } { - | + + error: expected `{`, found `falsy` --> $DIR/else-no-if.rs:10:12 @@ -23,14 +19,10 @@ LL | } else falsy() { | | | expected an `if` or a block after this `else` | -help: add an `if` if this is the condition to an chained `if` statement after the `else` +help: add an `if` if this is the condition of a chained `else if` statement | LL | } else if falsy() { | ++ -help: ... otherwise, place this expression inside of a block if it is not an `if` condition - | -LL | } else { falsy() } { - | + + error: expected `{`, found `falsy` --> $DIR/else-no-if.rs:17:12