From 1bb3694b1a6368f456c2e62cf234a332a21df2a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20K=C3=BCber?= Date: Tue, 26 Mar 2019 12:09:13 -0700 Subject: [PATCH] Reword invalid suffixe errors --- src/libsyntax/parse/parser.rs | 13 ++++----- src/test/ui/parser/bad-lit-suffixes.rs | 16 +++++------ src/test/ui/parser/bad-lit-suffixes.stderr | 32 +++++++++++----------- src/test/ui/parser/issue-59418.rs | 4 +-- src/test/ui/parser/issue-59418.stderr | 8 +++--- 5 files changed, 36 insertions(+), 37 deletions(-) diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 8dacb270637..bb3dc8edfb0 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -1119,9 +1119,8 @@ fn expect_no_suffix(&self, sp: Span, kind: &str, suffix: Option) { if text.is_empty() { self.span_bug(sp, "found empty literal suffix in Some") } - let msg = format!("{} with a suffix is invalid", kind); - self.struct_span_err(sp, &msg) - .span_label(sp, msg) + self.struct_span_err(sp, &format!("suffixes on {} are invalid", kind)) + .span_label(sp, format!("invalid suffix `{}`", text)) .emit(); } } @@ -2150,7 +2149,7 @@ fn parse_lit_token(&mut self) -> PResult<'a, LitKind> { if suffix_illegal { let sp = self.span; - self.expect_no_suffix(sp, lit.literal_name(), suf) + self.expect_no_suffix(sp, &format!("a {}", lit.literal_name()), suf) } result.unwrap() @@ -3205,7 +3204,7 @@ fn parse_dot_or_call_expr_with_(&mut self, e0: P, lo: Span) -> PResult<'a, let field = ExprKind::Field(e, Ident::new(name, span)); e = self.mk_expr(lo.to(span), field, ThinVec::new()); - self.expect_no_suffix(span, "tuple index", suffix); + self.expect_no_suffix(span, "a tuple index", suffix); } token::Literal(token::Float(n), _suf) => { self.bump(); @@ -7791,7 +7790,7 @@ fn parse_opt_abi(&mut self) -> PResult<'a, Option> { match self.token { token::Literal(token::Str_(s), suf) | token::Literal(token::StrRaw(s, _), suf) => { let sp = self.span; - self.expect_no_suffix(sp, "ABI spec", suf); + self.expect_no_suffix(sp, "an ABI spec", suf); self.bump(); match abi::lookup(&s.as_str()) { Some(abi) => Ok(Some(abi)), @@ -8612,7 +8611,7 @@ pub fn parse_str(&mut self) -> PResult<'a, (Symbol, StrStyle)> { match self.parse_optional_str() { Some((s, style, suf)) => { let sp = self.prev_span; - self.expect_no_suffix(sp, "string literal", suf); + self.expect_no_suffix(sp, "a string literal", suf); Ok((s, style)) } _ => { diff --git a/src/test/ui/parser/bad-lit-suffixes.rs b/src/test/ui/parser/bad-lit-suffixes.rs index 391e7f0acf9..75bed308858 100644 --- a/src/test/ui/parser/bad-lit-suffixes.rs +++ b/src/test/ui/parser/bad-lit-suffixes.rs @@ -2,20 +2,20 @@ extern - "C"suffix //~ ERROR ABI spec with a suffix is invalid + "C"suffix //~ ERROR suffixes on an ABI spec are invalid fn foo() {} extern - "C"suffix //~ ERROR ABI spec with a suffix is invalid + "C"suffix //~ ERROR suffixes on an ABI spec are invalid {} fn main() { - ""suffix; //~ ERROR string literal with a suffix is invalid - b""suffix; //~ ERROR byte string literal with a suffix is invalid - r#""#suffix; //~ ERROR string literal with a suffix is invalid - br#""#suffix; //~ ERROR byte string literal with a suffix is invalid - 'a'suffix; //~ ERROR char literal with a suffix is invalid - b'a'suffix; //~ ERROR byte literal with a suffix is invalid + ""suffix; //~ ERROR suffixes on a string literal are invalid + b""suffix; //~ ERROR suffixes on a byte string literal are invalid + r#""#suffix; //~ ERROR suffixes on a string literal are invalid + br#""#suffix; //~ ERROR suffixes on a byte string literal are invalid + 'a'suffix; //~ ERROR suffixes on a char literal are invalid + b'a'suffix; //~ ERROR suffixes on a byte literal are invalid 1234u1024; //~ ERROR invalid width `1024` for integer literal 1234i1024; //~ ERROR invalid width `1024` for integer literal diff --git a/src/test/ui/parser/bad-lit-suffixes.stderr b/src/test/ui/parser/bad-lit-suffixes.stderr index 3d4d7b4a78b..de194f4820d 100644 --- a/src/test/ui/parser/bad-lit-suffixes.stderr +++ b/src/test/ui/parser/bad-lit-suffixes.stderr @@ -1,50 +1,50 @@ -error: ABI spec with a suffix is invalid +error: suffixes on an ABI spec are invalid --> $DIR/bad-lit-suffixes.rs:5:5 | LL | "C"suffix - | ^^^^^^^^^ ABI spec with a suffix is invalid + | ^^^^^^^^^ invalid suffix `suffix` -error: ABI spec with a suffix is invalid +error: suffixes on an ABI spec are invalid --> $DIR/bad-lit-suffixes.rs:9:5 | LL | "C"suffix - | ^^^^^^^^^ ABI spec with a suffix is invalid + | ^^^^^^^^^ invalid suffix `suffix` -error: string literal with a suffix is invalid +error: suffixes on a string literal are invalid --> $DIR/bad-lit-suffixes.rs:13:5 | LL | ""suffix; - | ^^^^^^^^ string literal with a suffix is invalid + | ^^^^^^^^ invalid suffix `suffix` -error: byte string literal with a suffix is invalid +error: suffixes on a byte string literal are invalid --> $DIR/bad-lit-suffixes.rs:14:5 | LL | b""suffix; - | ^^^^^^^^^ byte string literal with a suffix is invalid + | ^^^^^^^^^ invalid suffix `suffix` -error: string literal with a suffix is invalid +error: suffixes on a string literal are invalid --> $DIR/bad-lit-suffixes.rs:15:5 | LL | r#""#suffix; - | ^^^^^^^^^^^ string literal with a suffix is invalid + | ^^^^^^^^^^^ invalid suffix `suffix` -error: byte string literal with a suffix is invalid +error: suffixes on a byte string literal are invalid --> $DIR/bad-lit-suffixes.rs:16:5 | LL | br#""#suffix; - | ^^^^^^^^^^^^ byte string literal with a suffix is invalid + | ^^^^^^^^^^^^ invalid suffix `suffix` -error: char literal with a suffix is invalid +error: suffixes on a char literal are invalid --> $DIR/bad-lit-suffixes.rs:17:5 | LL | 'a'suffix; - | ^^^^^^^^^ char literal with a suffix is invalid + | ^^^^^^^^^ invalid suffix `suffix` -error: byte literal with a suffix is invalid +error: suffixes on a byte literal are invalid --> $DIR/bad-lit-suffixes.rs:18:5 | LL | b'a'suffix; - | ^^^^^^^^^^ byte literal with a suffix is invalid + | ^^^^^^^^^^ invalid suffix `suffix` error: invalid width `1024` for integer literal --> $DIR/bad-lit-suffixes.rs:20:5 diff --git a/src/test/ui/parser/issue-59418.rs b/src/test/ui/parser/issue-59418.rs index d1afa6af320..a37af2180bf 100644 --- a/src/test/ui/parser/issue-59418.rs +++ b/src/test/ui/parser/issue-59418.rs @@ -3,10 +3,10 @@ fn main() { let a = X(1, 2, 3); let b = a.1suffix; - //~^ ERROR tuple index with a suffix is invalid + //~^ ERROR suffixes on a tuple index are invalid println!("{}", b); let c = (1, 2, 3); let d = c.1suffix; - //~^ ERROR tuple index with a suffix is invalid + //~^ ERROR suffixes on a tuple index are invalid println!("{}", d); } diff --git a/src/test/ui/parser/issue-59418.stderr b/src/test/ui/parser/issue-59418.stderr index 4ca4bd73abc..ca7d4cfda72 100644 --- a/src/test/ui/parser/issue-59418.stderr +++ b/src/test/ui/parser/issue-59418.stderr @@ -1,14 +1,14 @@ -error: tuple index with a suffix is invalid +error: suffixes on a tuple index are invalid --> $DIR/issue-59418.rs:5:15 | LL | let b = a.1suffix; - | ^^^^^^^ tuple index with a suffix is invalid + | ^^^^^^^ invalid suffix `suffix` -error: tuple index with a suffix is invalid +error: suffixes on a tuple index are invalid --> $DIR/issue-59418.rs:9:15 | LL | let d = c.1suffix; - | ^^^^^^^ tuple index with a suffix is invalid + | ^^^^^^^ invalid suffix `suffix` error: aborting due to 2 previous errors -- GitLab