RS.CLIPPY.STABLE_SORT_PRIMITIVE
Use of sort() when sort_unstable() is equivalent
This checker is a Clippy lint created by The Rust Project Contributors. The documentation shown here is a copy of the original documentation for: stable_sort_primitive. Copyright ©2025 The Rust Team. All rights reserved.
What it does
When sorting primitive values (integers, bools, chars, as well as arrays, slices, and tuples of such items), it is typically better to use an unstable sort than a stable sort.
Why is this bad?
Typically, using a stable sort consumes more memory and cpu cycles. Because values which compare equal are identical, preserving their relative order (the guarantee that a stable sort provides) means nothing, while the extra costs still apply.
Known problems
As pointed out in issue #8241, a stable sort can instead be significantly faster for certain scenarios (eg. when a sorted vector is extended with new data and resorted).
For more information and benchmarking results, please refer to the issue linked above.
Example
let mut vec = vec![2, 1, 3];
vec.sort();
Use instead:
let mut vec = vec![2, 1, 3];
vec.sort_unstable();