about summary refs log tree commit diff
diff options
context:
space:
mode:
authorxizheyin <xizheyin@smail.nju.edu.cn>2025-08-09 15:47:20 +0800
committerxizheyin <xizheyin@smail.nju.edu.cn>2025-08-10 12:35:12 +0800
commitcf1a1b7b76a937afae997594d931b64956e74a4f (patch)
tree6995a45ae053cabfa9031da48498352ef531599a
parenta980cd4311ae4b5bf9099d418e32643d068f1344 (diff)
downloadrust-cf1a1b7b76a937afae997594d931b64956e74a4f.tar.gz
rust-cf1a1b7b76a937afae997594d931b64956e74a4f.zip
Use `eq_ignore_ascii_case` to avoid heap alloc in `detect_confuse_type`
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
-rw-r--r--compiler/rustc_errors/src/emitter.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rustc_errors/src/emitter.rs b/compiler/rustc_errors/src/emitter.rs
index 84970e7c162..652e2ac63e6 100644
--- a/compiler/rustc_errors/src/emitter.rs
+++ b/compiler/rustc_errors/src/emitter.rs
@@ -3546,7 +3546,7 @@ pub fn detect_confusion_type(sm: &SourceMap, suggested: &str, sp: Span) -> Confu
 
         for (f, s) in iter::zip(found.chars(), suggested.chars()) {
             if f != s {
-                if f.to_lowercase().to_string() == s.to_lowercase().to_string() {
+                if f.eq_ignore_ascii_case(&s) {
                     // Check for case differences (any character that differs only in case)
                     if ascii_confusables.contains(&f) || ascii_confusables.contains(&s) {
                         has_case_diff = true;