From 9e418305a32e6edf8310a5b4cfa8a297bdfe5cea Mon Sep 17 00:00:00 2001 From: overlookmotel <557937+overlookmotel@users.noreply.github.com> Date: Tue, 25 Mar 2025 04:00:05 +0000 Subject: [PATCH] perf(ast_tools): reduce `String` allocations (#10023) `ident_name` generate only 1 `String` in common case, instead of 2. --- tasks/ast_tools/src/parse/mod.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tasks/ast_tools/src/parse/mod.rs b/tasks/ast_tools/src/parse/mod.rs index 15e207d6cdfe3..40f84ad7c62e1 100644 --- a/tasks/ast_tools/src/parse/mod.rs +++ b/tasks/ast_tools/src/parse/mod.rs @@ -109,5 +109,6 @@ fn analyse_file( /// /// [`Ident`]: struct@Ident fn ident_name(ident: &Ident) -> String { - ident.to_string().trim_start_matches("r#").to_string() + let name = ident.to_string(); + if let Some(unprefixed) = name.strip_prefix("r#") { unprefixed.to_string() } else { name } }