diff --git a/src/uu/sort/src/sort.rs b/src/uu/sort/src/sort.rs index 0be91eef6..cbd02c18a 100644 --- a/src/uu/sort/src/sort.rs +++ b/src/uu/sort/src/sort.rs @@ -1278,7 +1278,11 @@ fn ext_sort_by(unsorted: Vec, settings: GlobalSettings) -> Vec { } fn sort_by(lines: &mut Vec, settings: &GlobalSettings) { - lines.par_sort_by(|a, b| compare_by(a, b, &settings)) + if settings.stable || settings.unique { + lines.par_sort_by(|a, b| compare_by(a, b, &settings)) + } else { + lines.par_sort_unstable_by(|a, b| compare_by(a, b, &settings)) + } } fn compare_by(a: &Line, b: &Line, global_settings: &GlobalSettings) -> Ordering {