diff --git a/crates/pacdef_core/src/grouping/group.rs b/crates/pacdef_core/src/grouping/group.rs index 8ea0c7b..c8a0d3a 100644 --- a/crates/pacdef_core/src/grouping/group.rs +++ b/crates/pacdef_core/src/grouping/group.rs @@ -94,10 +94,7 @@ fn is_child_of_any_dir(path: &Path, dirs: &[PathBuf]) -> bool { impl PartialOrd for Group { fn partial_cmp(&self, other: &Self) -> Option { - match self.name.partial_cmp(&other.name) { - Some(core::cmp::Ordering::Equal) => None, - ord => ord, - } + Some(self.cmp(other)) } } diff --git a/crates/pacdef_core/src/grouping/section.rs b/crates/pacdef_core/src/grouping/section.rs index 00ad032..f261937 100644 --- a/crates/pacdef_core/src/grouping/section.rs +++ b/crates/pacdef_core/src/grouping/section.rs @@ -67,14 +67,13 @@ impl Eq for Section { impl PartialOrd for Section { fn partial_cmp(&self, other: &Self) -> Option { - self.name.partial_cmp(&other.name) + Some(self.cmp(other)) } } impl Ord for Section { fn cmp(&self, other: &Self) -> std::cmp::Ordering { - self.partial_cmp(other) - .expect("partial_cmp compares &str, which provide total order") + self.name.cmp(&other.name) } }