about summary refs log tree commit diff
path: root/compiler/rustc_errors/src
diff options
context:
space:
mode:
authorFolkert <folkert@folkertdev.nl>2024-08-08 23:55:59 +0200
committerFolkert <folkert@folkertdev.nl>2024-08-09 09:45:01 +0200
commit38874a692738f23b17d20a81bb906701303c0474 (patch)
tree06bc0da1e2ef4fb70a28c5ffee0244ffb40d49bc /compiler/rustc_errors/src
parent9337f7afa6fda07e60d6aa5ee88e692878446782 (diff)
downloadrust-38874a692738f23b17d20a81bb906701303c0474.tar.gz
rust-38874a692738f23b17d20a81bb906701303c0474.zip
use stable sort to sort multipart diagnostics
Diffstat (limited to 'compiler/rustc_errors/src')
-rw-r--r--compiler/rustc_errors/src/diagnostic.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_errors/src/diagnostic.rs b/compiler/rustc_errors/src/diagnostic.rs
index 67ca6d50cca..fae8b5647fc 100644
--- a/compiler/rustc_errors/src/diagnostic.rs
+++ b/compiler/rustc_errors/src/diagnostic.rs
@@ -920,8 +920,8 @@ impl<'a, G: EmissionGuarantee> Diag<'a, G> {
         applicability: Applicability,
         style: SuggestionStyle,
     ) -> &mut Self {
-        suggestion.sort_unstable();
-        suggestion.dedup_by(|(s1, m1), (s2, m2)| s1.source_equal(*s2) && m1 == m2);
+        let mut seen = crate::FxHashSet::default();
+        suggestion.retain(|(span, msg)| seen.insert((span.lo(), span.hi(), msg.clone())));
 
         let parts = suggestion
             .into_iter()