Avoid ref when using format! in compiler
Clean up a few minor refs in `format!` macro, as it has a performance cost. Apparently the compiler is unable to inline `format!("{}", &variable)`, and does a run-time double-reference instead (format macro already does one level referencing). Inlining format args prevents accidental `&` misuse.
This commit is contained in:
parent
0cd01aac6a
commit
aef0e346de
23 changed files with 61 additions and 65 deletions
|
@ -149,7 +149,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
|
|||
BuiltinLintDiag::AmbiguousGlobImports { diag },
|
||||
);
|
||||
} else {
|
||||
let mut err = struct_span_code_err!(self.dcx(), diag.span, E0659, "{}", &diag.msg);
|
||||
let mut err = struct_span_code_err!(self.dcx(), diag.span, E0659, "{}", diag.msg);
|
||||
report_ambiguity_error(&mut err, diag);
|
||||
err.emit();
|
||||
}
|
||||
|
@ -798,7 +798,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
|
|||
}
|
||||
ResolutionError::FailedToResolve { segment, label, suggestion, module } => {
|
||||
let mut err =
|
||||
struct_span_code_err!(self.dcx(), span, E0433, "failed to resolve: {}", &label);
|
||||
struct_span_code_err!(self.dcx(), span, E0433, "failed to resolve: {label}");
|
||||
err.span_label(span, label);
|
||||
|
||||
if let Some((suggestions, msg, applicability)) = suggestion {
|
||||
|
@ -2893,7 +2893,7 @@ fn show_candidates(
|
|||
""
|
||||
};
|
||||
candidate.0 =
|
||||
format!("{add_use}{}{append}{trailing}{additional_newline}", &candidate.0);
|
||||
format!("{add_use}{}{append}{trailing}{additional_newline}", candidate.0);
|
||||
}
|
||||
|
||||
match mode {
|
||||
|
|
|
@ -694,7 +694,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
|
|||
.collect::<Vec<_>>();
|
||||
let msg = format!("unresolved import{} {}", pluralize!(paths.len()), paths.join(", "),);
|
||||
|
||||
let mut diag = struct_span_code_err!(self.dcx(), span, E0432, "{}", &msg);
|
||||
let mut diag = struct_span_code_err!(self.dcx(), span, E0432, "{msg}");
|
||||
|
||||
if let Some((_, UnresolvedImportError { note: Some(note), .. })) = errors.iter().last() {
|
||||
diag.note(note.clone());
|
||||
|
|
|
@ -339,7 +339,7 @@ pub fn strip_generics_from_path(path_str: &str) -> Result<Box<str>, MalformedGen
|
|||
}
|
||||
}
|
||||
|
||||
debug!("path_str: {:?}\nstripped segments: {:?}", path_str, &stripped_segments);
|
||||
debug!("path_str: {path_str:?}\nstripped segments: {stripped_segments:?}");
|
||||
|
||||
let stripped_path = stripped_segments.join("::");
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue