diff --git a/crates/oxc_linter/src/fixer/fix.rs b/crates/oxc_linter/src/fixer/fix.rs index 6e868ce1f1d327..9d42dd7b9b841f 100644 --- a/crates/oxc_linter/src/fixer/fix.rs +++ b/crates/oxc_linter/src/fixer/fix.rs @@ -472,12 +472,11 @@ impl<'a> CompositeFix<'a> { if fixes.is_empty() { // Do nothing return Fix::empty(); - } - if fixes.len() == 1 { + } else if fixes.len() == 1 { return fixes.pop().unwrap(); } - fixes.sort_by(|a, b| a.span.cmp(&b.span)); + fixes.sort_unstable_by(|a, b| a.span.cmp(&b.span)); // safe, as fixes.len() > 1 let start = fixes[0].span.start; diff --git a/crates/oxc_linter/src/fixer/mod.rs b/crates/oxc_linter/src/fixer/mod.rs index 372b825f009014..e30874f48fc3ee 100644 --- a/crates/oxc_linter/src/fixer/mod.rs +++ b/crates/oxc_linter/src/fixer/mod.rs @@ -275,7 +275,7 @@ impl<'a> Fixer<'a> { }; } - self.messages.sort_by_key(|m| m.fix.as_ref().unwrap_or(&Fix::default()).span); + self.messages.sort_unstable_by_key(|m| m.fix.as_ref().unwrap_or(&Fix::default()).span); let mut fixed = false; let mut output = String::with_capacity(source_text.len()); let mut last_pos: i64 = -1;