diff options
Diffstat (limited to 'compiler/rustc_parse/src')
| -rw-r--r-- | compiler/rustc_parse/src/lexer/unescape_error_reporting.rs | 8 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/lexer/unicode_chars.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/lib.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/parser/attr.rs | 7 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/parser/diagnostics.rs | 38 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/parser/expr.rs | 53 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/parser/generics.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/parser/item.rs | 41 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/parser/mod.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/parser/pat.rs | 42 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/parser/path.rs | 12 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/parser/stmt.rs | 6 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/parser/ty.rs | 8 |
13 files changed, 96 insertions, 127 deletions
diff --git a/compiler/rustc_parse/src/lexer/unescape_error_reporting.rs b/compiler/rustc_parse/src/lexer/unescape_error_reporting.rs index bec4561928c..273827864f1 100644 --- a/compiler/rustc_parse/src/lexer/unescape_error_reporting.rs +++ b/compiler/rustc_parse/src/lexer/unescape_error_reporting.rs @@ -105,7 +105,7 @@ pub(crate) fn emit_unescape_error( handler.span_suggestion( span, "consider removing the non-printing characters", - ch.to_string(), + ch, Applicability::MaybeIncorrect, ); } @@ -141,7 +141,7 @@ pub(crate) fn emit_unescape_error( .span_suggestion( char_span, "escape the character", - c.escape_default().to_string(), + c.escape_default(), Applicability::MachineApplicable, ) .emit(); @@ -157,7 +157,7 @@ pub(crate) fn emit_unescape_error( .span_suggestion( span, "escape the character", - "\\r".to_string(), + "\\r", Applicability::MachineApplicable, ) .emit(); @@ -299,7 +299,7 @@ pub(crate) fn emit_unescape_error( .span_suggestion_verbose( span.shrink_to_hi(), "terminate the unicode escape", - "}".to_string(), + "}", Applicability::MaybeIncorrect, ) .emit(); diff --git a/compiler/rustc_parse/src/lexer/unicode_chars.rs b/compiler/rustc_parse/src/lexer/unicode_chars.rs index faa686c3e57..2c68cc5895c 100644 --- a/compiler/rustc_parse/src/lexer/unicode_chars.rs +++ b/compiler/rustc_parse/src/lexer/unicode_chars.rs @@ -369,7 +369,7 @@ pub(super) fn check_for_substitution<'a>( "Unicode character '{}' ({}) looks like '{}' ({}), but it is not", ch, u_name, ascii_char, ascii_name ); - err.span_suggestion(span, &msg, ascii_char.to_string(), Applicability::MaybeIncorrect); + err.span_suggestion(span, &msg, ascii_char, Applicability::MaybeIncorrect); } token.clone() } diff --git a/compiler/rustc_parse/src/lib.rs b/compiler/rustc_parse/src/lib.rs index df1765952ce..f3bdd63ee6d 100644 --- a/compiler/rustc_parse/src/lib.rs +++ b/compiler/rustc_parse/src/lib.rs @@ -282,7 +282,7 @@ fn error_malformed_cfg_attr_missing(span: Span, parse_sess: &ParseSess) { .span_suggestion( span, "missing condition and attribute", - CFG_ATTR_GRAMMAR_HELP.to_string(), + CFG_ATTR_GRAMMAR_HELP, Applicability::HasPlaceholders, ) .note(CFG_ATTR_NOTE_REF) diff --git a/compiler/rustc_parse/src/parser/attr.rs b/compiler/rustc_parse/src/parser/attr.rs index 3ae8bb07cd0..acdbddf4099 100644 --- a/compiler/rustc_parse/src/parser/attr.rs +++ b/compiler/rustc_parse/src/parser/attr.rs @@ -78,7 +78,7 @@ impl<'a> Parser<'a> { err.span_suggestion_verbose( replacement_span, "you might have meant to write a regular comment", - String::new(), + "", rustc_errors::Applicability::MachineApplicable, ); } @@ -200,12 +200,11 @@ impl<'a> Parser<'a> { item.kind.descr(), attr_name ), - (match attr_type { + match attr_type { OuterAttributeType::Attribute => "", OuterAttributeType::DocBlockComment => "*", OuterAttributeType::DocComment => "/", - }) - .to_string(), + }, rustc_errors::Applicability::MachineApplicable, ); return None; diff --git a/compiler/rustc_parse/src/parser/diagnostics.rs b/compiler/rustc_parse/src/parser/diagnostics.rs index 6a44f5d6653..784d140c458 100644 --- a/compiler/rustc_parse/src/parser/diagnostics.rs +++ b/compiler/rustc_parse/src/parser/diagnostics.rs @@ -431,7 +431,7 @@ impl<'a> Parser<'a> { err.span_suggestion_verbose( ident.span.shrink_to_lo(), &format!("escape `{}` to use it as an identifier", ident.name), - "r#".to_owned(), + "r#", Applicability::MaybeIncorrect, ); } @@ -445,7 +445,7 @@ impl<'a> Parser<'a> { err.span_suggestion( self.token.span, "remove this comma", - String::new(), + "", Applicability::MachineApplicable, ); } @@ -518,7 +518,7 @@ impl<'a> Parser<'a> { self.bump(); let sp = self.prev_token.span; self.struct_span_err(sp, &msg) - .span_suggestion_short(sp, "change this to `;`", ";".to_string(), appl) + .span_suggestion_short(sp, "change this to `;`", ";", appl) .emit(); return Ok(true); } else if self.look_ahead(0, |t| { @@ -537,7 +537,7 @@ impl<'a> Parser<'a> { let sp = self.prev_token.span.shrink_to_hi(); self.struct_span_err(sp, &msg) .span_label(self.token.span, "unexpected token") - .span_suggestion_short(sp, "add `;` here", ";".to_string(), appl) + .span_suggestion_short(sp, "add `;` here", ";", appl) .emit(); return Ok(true); } @@ -664,7 +664,7 @@ impl<'a> Parser<'a> { err.span_suggestion( span, &format!("remove the extra `#`{}", pluralize!(count)), - String::new(), + "", Applicability::MachineApplicable, ); err.span_label( @@ -761,7 +761,7 @@ impl<'a> Parser<'a> { err.span_suggestion( sp, "maybe write a path separator here", - "::".to_string(), + "::", if allow_unstable { Applicability::MaybeIncorrect } else { @@ -773,7 +773,7 @@ impl<'a> Parser<'a> { err.span_suggestion( sp, "try using a semicolon", - ";".to_string(), + ";", Applicability::MaybeIncorrect, ); } else if allow_unstable { @@ -917,7 +917,7 @@ impl<'a> Parser<'a> { .span_suggestion( span, &format!("remove extra angle bracket{}", pluralize!(total_num_of_gt)), - String::new(), + "", Applicability::MachineApplicable, ) .emit(); @@ -999,7 +999,7 @@ impl<'a> Parser<'a> { e.span_suggestion_verbose( binop.span.shrink_to_lo(), TURBOFISH_SUGGESTION_STR, - "::".to_string(), + "::", Applicability::MaybeIncorrect, ) .emit(); @@ -1158,7 +1158,7 @@ impl<'a> Parser<'a> { err.span_suggestion_verbose( op.span.shrink_to_lo(), TURBOFISH_SUGGESTION_STR, - "::".to_string(), + "::", Applicability::MaybeIncorrect, ); }; @@ -1701,7 +1701,7 @@ impl<'a> Parser<'a> { Applicability::MachineApplicable, ); } - err.span_suggestion(lo.shrink_to_lo(), &format!("{prefix}you can still access the deprecated `try!()` macro using the \"raw identifier\" syntax"), "r#".to_string(), Applicability::MachineApplicable); + err.span_suggestion(lo.shrink_to_lo(), &format!("{prefix}you can still access the deprecated `try!()` macro using the \"raw identifier\" syntax"), "r#", Applicability::MachineApplicable); err.emit(); Ok(self.mk_expr_err(lo.to(hi))) } else { @@ -1997,7 +1997,7 @@ impl<'a> Parser<'a> { err.span_suggestion( span, "declare the type after the parameter binding", - String::from("<identifier>: <type>"), + "<identifier>: <type>", Applicability::HasPlaceholders, ); return Some(ident); @@ -2102,7 +2102,7 @@ impl<'a> Parser<'a> { .span_suggestion_short( pat.span, "give this argument a name or use an underscore to ignore it", - "_".to_owned(), + "_", Applicability::MachineApplicable, ) .emit(); @@ -2336,7 +2336,7 @@ impl<'a> Parser<'a> { err.span_suggestion_verbose( start.until(self.token.span), "the `const` keyword is only needed in the definition of the type", - String::new(), + "", Applicability::MaybeIncorrect, ); err.emit(); @@ -2394,7 +2394,7 @@ impl<'a> Parser<'a> { err.span_suggestion( snapshot.token.span, "if you meant to use an associated type binding, replace `==` with `=`", - "=".to_string(), + "=", Applicability::MaybeIncorrect, ); let value = self.mk_expr_err(start.to(expr.span)); @@ -2408,7 +2408,7 @@ impl<'a> Parser<'a> { err.span_suggestion( snapshot.token.span, "write a path separator here", - "::".to_string(), + "::", Applicability::MaybeIncorrect, ); err.emit(); @@ -2461,7 +2461,7 @@ impl<'a> Parser<'a> { err.span_suggestion_verbose( move_async_span, "try switching the order", - "async move".to_owned(), + "async move", Applicability::MaybeIncorrect, ); err @@ -2566,7 +2566,7 @@ impl<'a> Parser<'a> { err.span_suggestion( span, "maybe write a path separator here", - "::".to_string(), + "::", Applicability::MaybeIncorrect, ); } else { @@ -2669,7 +2669,7 @@ impl<'a> Parser<'a> { err.span_suggestion( between_span, "use single colon", - ": ".to_owned(), + ": ", Applicability::MachineApplicable, ); return Err(err); diff --git a/compiler/rustc_parse/src/parser/expr.rs b/compiler/rustc_parse/src/parser/expr.rs index 324e04b1981..236ccef1d03 100644 --- a/compiler/rustc_parse/src/parser/expr.rs +++ b/compiler/rustc_parse/src/parser/expr.rs @@ -230,7 +230,7 @@ impl<'a> Parser<'a> { .span_suggestion_short( sp, &format!("`{s}=` is not a valid comparison operator, use `{s}`", s = sugg), - sugg.to_string(), + sugg, Applicability::MachineApplicable, ) .emit(); @@ -247,7 +247,7 @@ impl<'a> Parser<'a> { .span_suggestion_short( sp, "`<>` is not a valid comparison operator, use `!=`", - "!=".to_string(), + "!=", Applicability::MachineApplicable, ) .emit(); @@ -459,7 +459,7 @@ impl<'a> Parser<'a> { .span_suggestion_short( self.token.span, &format!("use `{good}` to perform logical {english}"), - good.to_string(), + good, Applicability::MachineApplicable, ) .note("unlike in e.g., python and PHP, `&&` and `||` are used for logical operators") @@ -584,7 +584,7 @@ impl<'a> Parser<'a> { err.span_suggestion_verbose( lo, "try removing the `+`", - "".to_string(), + "", Applicability::MachineApplicable, ); } @@ -634,7 +634,7 @@ impl<'a> Parser<'a> { .span_suggestion_short( lo, "use `!` to perform bitwise not", - "!".to_owned(), + "!", Applicability::MachineApplicable, ) .emit(); @@ -673,7 +673,7 @@ impl<'a> Parser<'a> { // trailing whitespace after the `!` in our suggestion self.sess.source_map().span_until_non_whitespace(lo.to(not_token.span)), "use `!` to perform logical negation", - "!".to_owned(), + "!", Applicability::MachineApplicable, ) .emit(); @@ -744,7 +744,7 @@ impl<'a> Parser<'a> { .span_suggestion( label.ident.span, "use the correct loop label format", - label.ident.to_string(), + label.ident, Applicability::MachineApplicable, ) .emit(); @@ -885,7 +885,7 @@ impl<'a> Parser<'a> { "{}remove the type ascription", if is_nightly { "alternatively, " } else { "" } ), - String::new(), + "", if is_nightly { Applicability::MaybeIncorrect } else { @@ -929,7 +929,7 @@ impl<'a> Parser<'a> { .span_suggestion( lt_span, "remove the lifetime annotation", - String::new(), + "", Applicability::MachineApplicable, ) .emit(); @@ -1626,7 +1626,7 @@ impl<'a> Parser<'a> { .span_suggestion_short( lo.shrink_to_hi(), "add `:` after the label", - ": ".to_string(), + ": ", Applicability::MachineApplicable, ) .note("labels are used before loops and blocks, allowing e.g., `break 'label` to them") @@ -1645,7 +1645,7 @@ impl<'a> Parser<'a> { .span_suggestion( span_dc, "replace with the new syntax", - "try".to_string(), + "try", Applicability::MachineApplicable, ) .note("following RFC #2388, the new non-placeholder syntax is `try`") @@ -2088,7 +2088,7 @@ impl<'a> Parser<'a> { .span_suggestion( span_for, "remove the parameters", - String::new(), + "", Applicability::MachineApplicable, ) .emit(); @@ -2352,7 +2352,7 @@ impl<'a> Parser<'a> { .span_suggestion( cond.span.shrink_to_lo(), "add an `if` if this is the condition of a chained `else if` statement", - "if ".to_string(), + "if ", Applicability::MaybeIncorrect, ) .emit(); @@ -2388,12 +2388,7 @@ impl<'a> Parser<'a> { self.struct_span_err(last, "outer attributes are not allowed on `if` and `else` branches") .span_label(branch_span, "the attributes are attached to this branch") .span_label(ctx_span, format!("the branch belongs to this `{ctx}`")) - .span_suggestion( - span, - "remove the attributes", - String::new(), - Applicability::MachineApplicable, - ) + .span_suggestion(span, "remove the attributes", "", Applicability::MachineApplicable) .emit(); } @@ -2502,7 +2497,7 @@ impl<'a> Parser<'a> { e.span_suggestion_short( match_span, "try removing this `match`", - String::new(), + "", Applicability::MaybeIncorrect, // speculative ); } @@ -2578,7 +2573,7 @@ impl<'a> Parser<'a> { err.span_suggestion( semi_sp, "use a comma to end a `match` arm expression", - ",".to_string(), + ",", Applicability::MachineApplicable, ); } @@ -2679,7 +2674,7 @@ impl<'a> Parser<'a> { err.span_suggestion( this.token.span, "try using a fat arrow here", - "=>".to_string(), + "=>", Applicability::MaybeIncorrect, ); err.emit(); @@ -2739,7 +2734,7 @@ impl<'a> Parser<'a> { err.span_suggestion_short( arm_start_span.shrink_to_hi(), "missing a comma here to end this `match` arm", - ",".to_owned(), + ",", Applicability::MachineApplicable, ); return Err(err); @@ -2768,7 +2763,7 @@ impl<'a> Parser<'a> { .span_suggestion( hi.shrink_to_hi(), "missing a comma here to end this `match` arm", - ",".to_owned(), + ",", Applicability::MachineApplicable, ) .emit(); @@ -3049,7 +3044,7 @@ impl<'a> Parser<'a> { .span_suggestion_short( self.token.span, "remove this comma", - String::new(), + "", Applicability::MachineApplicable, ) .note("the base struct must always be the last field") @@ -3103,7 +3098,7 @@ impl<'a> Parser<'a> { .span_suggestion( field_name.span.shrink_to_hi().to(self.token.span), "replace equals symbol with a colon", - ":".to_string(), + ":", Applicability::MachineApplicable, ) .emit(); @@ -3114,13 +3109,13 @@ impl<'a> Parser<'a> { .span_suggestion( span, "use `..` for an exclusive range", - "..".to_owned(), + "..", Applicability::MaybeIncorrect, ) .span_suggestion( span, "or `..=` for an inclusive range", - "..=".to_owned(), + "..=", Applicability::MaybeIncorrect, ) .emit(); @@ -3132,7 +3127,7 @@ impl<'a> Parser<'a> { span, "if you meant to write a comparison against a negative value, add a \ space in between `<` and `-`", - "< -".to_string(), + "< -", Applicability::MaybeIncorrect, ) .emit(); diff --git a/compiler/rustc_parse/src/parser/generics.rs b/compiler/rustc_parse/src/parser/generics.rs index 1930dec8c3b..1acfd93d86f 100644 --- a/compiler/rustc_parse/src/parser/generics.rs +++ b/compiler/rustc_parse/src/parser/generics.rs @@ -271,7 +271,7 @@ impl<'a> Parser<'a> { err.span_suggestion_verbose( prev_token.shrink_to_hi().to(self.prev_token.span), "consider joining the two `where` clauses into one", - ",".to_owned(), + ",", Applicability::MaybeIncorrect, ); err.emit(); diff --git a/compiler/rustc_parse/src/parser/item.rs b/compiler/rustc_parse/src/parser/item.rs index 48c3c467bec..1d50ce767af 100644 --- a/compiler/rustc_parse/src/parser/item.rs +++ b/compiler/rustc_parse/src/parser/item.rs @@ -298,7 +298,7 @@ impl<'a> Parser<'a> { .span_suggestion_short( span, "items are imported using the `use` keyword", - "use".to_owned(), + "use", Applicability::MachineApplicable, ) .emit(); @@ -458,7 +458,7 @@ impl<'a> Parser<'a> { err.span_suggestion( path.span, "perhaps you meant to define a macro", - "macro_rules".to_string(), + "macro_rules", Applicability::MachineApplicable, ); } @@ -486,7 +486,7 @@ impl<'a> Parser<'a> { err.span_suggestion_verbose( self.token.span, "consider removing this semicolon", - String::new(), + "", Applicability::MaybeIncorrect, ); } @@ -606,7 +606,7 @@ impl<'a> Parser<'a> { .span_suggestion_short( missing_for_span, "add `for` here", - " for ".to_string(), + " for ", Applicability::MachineApplicable, ) .emit(); @@ -1082,7 +1082,7 @@ impl<'a> Parser<'a> { .span_suggestion( span.with_hi(ident.span.lo()), "try using a static value", - "static ".to_string(), + "static ", Applicability::MachineApplicable, ) .note("for more information, visit https://doc.rust-lang.org/std/keyword.extern.html") @@ -1121,7 +1121,7 @@ impl<'a> Parser<'a> { .span_suggestion( const_span, "you might want to declare a static instead", - "static".to_owned(), + "static", Applicability::MaybeIncorrect, ) .emit(); @@ -1555,7 +1555,7 @@ impl<'a> Parser<'a> { err.span_suggestion_short( self.prev_token.span, "field names and their types are separated with `:`", - ":".to_string(), + ":", Applicability::MachineApplicable, ); err.emit(); @@ -1582,7 +1582,7 @@ impl<'a> Parser<'a> { .span_suggestion_verbose( self.token.span, "write a path separator here", - "::".to_string(), + "::", Applicability::MaybeIncorrect, ) .emit(); @@ -1595,7 +1595,7 @@ impl<'a> Parser<'a> { .span_suggestion( sp, "remove this unsupported default value", - String::new(), + "", Applicability::MachineApplicable, ) .emit(); @@ -1691,7 +1691,7 @@ impl<'a> Parser<'a> { .span_suggestion( macro_rules_span, "add a `!`", - "macro_rules!".to_owned(), + "macro_rules!", Applicability::MachineApplicable, ) .emit(); @@ -1720,12 +1720,7 @@ impl<'a> Parser<'a> { // Handle macro_rules! foo! let span = self.prev_token.span; self.struct_span_err(span, "macro names aren't followed by a `!`") - .span_suggestion( - span, - "remove the `!`", - "".to_owned(), - Applicability::MachineApplicable, - ) + .span_suggestion(span, "remove the `!`", "", Applicability::MachineApplicable) .emit(); } @@ -1751,7 +1746,7 @@ impl<'a> Parser<'a> { .span_suggestion( vis.span, "try exporting the macro", - "#[macro_export]".to_owned(), + "#[macro_export]", Applicability::MaybeIncorrect, // speculative ) .emit(); @@ -1760,7 +1755,7 @@ impl<'a> Parser<'a> { .span_suggestion( vis.span, "remove the visibility", - String::new(), + "", Applicability::MachineApplicable, ) .help(&format!("try adjusting the macro to put `{vstr}` inside the invocation")) @@ -1794,14 +1789,14 @@ impl<'a> Parser<'a> { err.span_suggestion( span, "change the delimiters to curly braces", - " { /* items */ }".to_string(), + " { /* items */ }", Applicability::HasPlaceholders, ); } err.span_suggestion( span.shrink_to_hi(), "add a semicolon", - ';'.to_string(), + ';', Applicability::MaybeIncorrect, ); err.emit(); @@ -1826,7 +1821,7 @@ impl<'a> Parser<'a> { .span_suggestion( item.unwrap().span, &format!("consider creating a new `{kw_str}` definition instead of nesting"), - String::new(), + "", Applicability::MaybeIncorrect, ) .emit(); @@ -2086,7 +2081,7 @@ impl<'a> Parser<'a> { err.span_suggestion( self.token.uninterpolated_span(), &format!("`{original_kw}` already used earlier, remove this one"), - "".to_string(), + "", Applicability::MachineApplicable, ) .span_note(original_sp, &format!("`{original_kw}` first seen here")); @@ -2134,7 +2129,7 @@ impl<'a> Parser<'a> { err.span_suggestion( current_vis.span, "there is already a visibility modifier, remove one", - "".to_string(), + "", Applicability::MachineApplicable, ) .span_note(orig_vis.span, "explicit visibility first seen here"); diff --git a/compiler/rustc_parse/src/parser/mod.rs b/compiler/rustc_parse/src/parser/mod.rs index 6e6c1ffe747..4df9ad26a58 100644 --- a/compiler/rustc_parse/src/parser/mod.rs +++ b/compiler/rustc_parse/src/parser/mod.rs @@ -1350,7 +1350,7 @@ impl<'a> Parser<'a> { .span_suggestion( lit.span, "specify the ABI with a string literal", - "\"C\"".to_string(), + "\"C\"", Applicability::MaybeIncorrect, ) .emit(); diff --git a/compiler/rustc_parse/src/parser/pat.rs b/compiler/rustc_parse/src/parser/pat.rs index ca7915ed17a..ba77a395840 100644 --- a/compiler/rustc_parse/src/parser/pat.rs +++ b/compiler/rustc_parse/src/parser/pat.rs @@ -218,12 +218,7 @@ impl<'a> Parser<'a> { if let token::OrOr = self.token.kind { let span = self.token.span; let mut err = self.struct_span_err(span, "unexpected `||` before function parameter"); - err.span_suggestion( - span, - "remove the `||`", - String::new(), - Applicability::MachineApplicable, - ); + err.span_suggestion(span, "remove the `||`", "", Applicability::MachineApplicable); err.note("alternatives in or-patterns are separated with `|`, not `||`"); err.emit(); self.bump(); @@ -287,7 +282,7 @@ impl<'a> Parser<'a> { err.span_suggestion( self.token.span, "use a single `|` to separate multiple alternative patterns", - "|".to_owned(), + "|", Applicability::MachineApplicable, ); if let Some(lo) = lo { @@ -303,7 +298,7 @@ impl<'a> Parser<'a> { err.span_suggestion( span, &format!("remove the `{}`", pprust::token_to_string(&self.token)), - String::new(), + "", Applicability::MachineApplicable, ); if let Some(lo) = lo { @@ -433,7 +428,7 @@ impl<'a> Parser<'a> { .span_suggestion_short( lo, "for a rest pattern, use `..` instead of `...`", - "..".to_owned(), + "..", Applicability::MachineApplicable, ) .emit(); @@ -537,12 +532,7 @@ impl<'a> Parser<'a> { let span = self.prev_token.span; self.struct_span_err(span, &format!("unexpected lifetime `{}` in pattern", name)) - .span_suggestion( - span, - "remove the lifetime", - String::new(), - Applicability::MachineApplicable, - ) + .span_suggestion(span, "remove the lifetime", "", Applicability::MachineApplicable) .emit(); } } @@ -665,7 +655,7 @@ impl<'a> Parser<'a> { .span_suggestion( span, "remove the additional `mut`s", - String::new(), + "", Applicability::MachineApplicable, ) .emit(); @@ -759,24 +749,14 @@ impl<'a> Parser<'a> { fn error_inclusive_range_with_extra_equals(&self, span: Span) { self.struct_span_err(span, "unexpected `=` after inclusive range") - .span_suggestion_short( - span, - "use `..=` instead", - "..=".to_string(), - Applicability::MaybeIncorrect, - ) + .span_suggestion_short(span, "use `..=` instead", "..=", Applicability::MaybeIncorrect) .note("inclusive ranges end with a single equals sign (`..=`)") .emit(); } fn error_inclusive_range_with_no_end(&self, span: Span) { struct_span_err!(self.sess.span_diagnostic, span, E0586, "inclusive range with no end") - .span_suggestion_short( - span, - "use `..` instead", - "..".to_string(), - Applicability::MachineApplicable, - ) + .span_suggestion_short(span, "use `..` instead", "..", Applicability::MachineApplicable) .note("inclusive ranges must be bounded at the end (`..=b` or `a..=b`)") .emit(); } @@ -794,7 +774,7 @@ impl<'a> Parser<'a> { .span_suggestion_short( re.span, "use `..=` instead", - "..=".to_string(), + "..=", Applicability::MachineApplicable, ) .emit(); @@ -1035,7 +1015,7 @@ impl<'a> Parser<'a> { err.span_suggestion_short( sp, "remove this comma", - String::new(), + "", Applicability::MachineApplicable, ); } @@ -1107,7 +1087,7 @@ impl<'a> Parser<'a> { .span_suggestion( self.token.span, "to omit remaining fields, use one fewer `.`", - "..".to_owned(), + "..", Applicability::MachineApplicable, ) .emit(); diff --git a/compiler/rustc_parse/src/parser/path.rs b/compiler/rustc_parse/src/parser/path.rs index 5c6fb376cd4..da46af60f72 100644 --- a/compiler/rustc_parse/src/parser/path.rs +++ b/compiler/rustc_parse/src/parser/path.rs @@ -112,7 +112,7 @@ impl<'a> Parser<'a> { .span_suggestion( self.prev_token.span, "use double colon", - "::".to_string(), + "::", Applicability::MachineApplicable, ) .emit(); @@ -283,7 +283,7 @@ impl<'a> Parser<'a> { err.span_suggestion_verbose( arg.span().shrink_to_hi(), "you might have meant to end the type parameters here", - ">".to_string(), + ">", Applicability::MaybeIncorrect, ); } @@ -455,7 +455,7 @@ impl<'a> Parser<'a> { "remove extra angle bracket{}", pluralize!(snapshot.unmatched_angle_bracket_count) ), - String::new(), + "", Applicability::MachineApplicable, ) .emit(); @@ -489,7 +489,7 @@ impl<'a> Parser<'a> { err.span_suggestion_verbose( self.prev_token.span.until(self.token.span), "use a comma to separate type parameters", - ", ".to_string(), + ", ", Applicability::MachineApplicable, ); err.emit(); @@ -592,13 +592,13 @@ impl<'a> Parser<'a> { err.span_suggestion( self.sess.source_map().next_point(eq).to(before_next), "to constrain the associated type, add a type after `=`", - " TheType".to_string(), + " TheType", Applicability::HasPlaceholders, ); err.span_suggestion( eq.to(before_next), &format!("remove the `=` if `{}` is a type", ident), - String::new(), + "", Applicability::MaybeIncorrect, ) } else { diff --git a/compiler/rustc_parse/src/parser/stmt.rs b/compiler/rustc_parse/src/parser/stmt.rs index 7907ec44e98..ad0128cd9ed 100644 --- a/compiler/rustc_parse/src/parser/stmt.rs +++ b/compiler/rustc_parse/src/parser/stmt.rs @@ -209,7 +209,7 @@ impl<'a> Parser<'a> { ) -> PResult<'a, Stmt> { let stmt = self.recover_local_after_let(lo, attrs)?; self.struct_span_err(lo, "invalid variable declaration") - .span_suggestion(lo, msg, sugg.to_string(), Applicability::MachineApplicable) + .span_suggestion(lo, msg, sugg, Applicability::MachineApplicable) .emit(); Ok(stmt) } @@ -287,7 +287,7 @@ impl<'a> Parser<'a> { err.span_suggestion_short( colon_sp, "use `=` if you meant to assign", - " =".to_string(), + " =", Applicability::MachineApplicable, ); err.emit(); @@ -391,7 +391,7 @@ impl<'a> Parser<'a> { .span_suggestion_short( self.token.span, "initialize the variable", - "=".to_string(), + "=", Applicability::MaybeIncorrect, ) .help("if you meant to overwrite, remove the `let` binding") diff --git a/compiler/rustc_parse/src/parser/ty.rs b/compiler/rustc_parse/src/parser/ty.rs index dee025cfd3c..31b40a83e60 100644 --- a/compiler/rustc_parse/src/parser/ty.rs +++ b/compiler/rustc_parse/src/parser/ty.rs @@ -216,7 +216,7 @@ impl<'a> Parser<'a> { .span_suggestion_short( self.prev_token.span, "use `->` instead", - "->".to_string(), + "->", Applicability::MachineApplicable, ) .emit(); @@ -479,7 +479,7 @@ impl<'a> Parser<'a> { err.span_suggestion( span, "place `mut` before `dyn`", - "&mut dyn".to_string(), + "&mut dyn", Applicability::MachineApplicable, ); err.emit(); @@ -548,7 +548,7 @@ impl<'a> Parser<'a> { .span_suggestion_short( qual_span, &format!("remove the `{}` qualifier", qual), - String::new(), + "", Applicability::MaybeIncorrect, ) .emit(); @@ -648,7 +648,7 @@ impl<'a> Parser<'a> { .span_suggestion( self.token.span, "remove this keyword", - String::new(), + "", Applicability::MachineApplicable, ) .emit(); |
