remove unnecessary to_string and String::new

This commit is contained in:
Takayuki Maeda 2022-06-13 15:48:40 +09:00
parent c570ab5a0b
commit 77d6176e69
88 changed files with 292 additions and 340 deletions

View file

@ -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;

View file

@ -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);

View file

@ -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();

View file

@ -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();

View file

@ -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");

View file

@ -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();

View file

@ -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();

View file

@ -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 {

View file

@ -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")

View file

@ -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();