From 0e36e7cebe4db494478982f80db2f928f59802d6 Mon Sep 17 00:00:00 2001 From: Xiretza Date: Tue, 27 Dec 2022 20:46:39 +0100 Subject: rustc_parse: avoid creating unnecessary intermediate strings --- compiler/rustc_parse/src/parser/item.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'compiler/rustc_parse/src') diff --git a/compiler/rustc_parse/src/parser/item.rs b/compiler/rustc_parse/src/parser/item.rs index 53680a82bdc..4c918b283d7 100644 --- a/compiler/rustc_parse/src/parser/item.rs +++ b/compiler/rustc_parse/src/parser/item.rs @@ -22,6 +22,7 @@ use rustc_span::lev_distance::lev_distance; use rustc_span::source_map::{self, Span}; use rustc_span::symbol::{kw, sym, Ident, Symbol}; use rustc_span::DUMMY_SP; +use std::fmt::Write; use std::mem; use thin_vec::ThinVec; @@ -1109,7 +1110,7 @@ impl<'a> Parser<'a> { let fixed_name_sp = ident.span.to(idents.last().unwrap().span); let mut fixed_name = ident.name.to_string(); for part in idents { - fixed_name.push_str(&format!("_{}", part.name)); + write!(fixed_name, "_{}", part.name).unwrap(); } ident = Ident::from_str_and_span(&fixed_name, fixed_name_sp); -- cgit 1.4.1-3-g733a5