From c98044cab1704bf8d196c678864a23b28cc041b0 Mon Sep 17 00:00:00 2001 From: Ada Alakbarova Date: Thu, 16 Oct 2025 13:42:29 +0200 Subject: [PATCH] chore: don't needlessly `partial_cmp` two `&str`s As `STR_ORDER` states, `&str` implements `Ord`, and thus has access to the infallible `cmp` --- cosmic-settings/src/pages/input/keyboard/mod.rs | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/cosmic-settings/src/pages/input/keyboard/mod.rs b/cosmic-settings/src/pages/input/keyboard/mod.rs index 40c3a32..d767206 100644 --- a/cosmic-settings/src/pages/input/keyboard/mod.rs +++ b/cosmic-settings/src/pages/input/keyboard/mod.rs @@ -52,8 +52,6 @@ static CAPS_LOCK_OPTIONS: &[(&str, &str)] = &[ ("Control", "caps:ctrl_modifier"), ]; -const STR_ORDER: &str = "`str` is always comparable"; - #[derive(Clone, Debug)] pub enum Message { ExpandInputSourcePopover(Option), @@ -360,10 +358,7 @@ impl page::Page for Page { (_, "custom") => cmp::Ordering::Less, // Compare everything else by description because it looks nicer (e.g. all // English grouped together) - _ => a - .description() - .partial_cmp(b.description()) - .expect(STR_ORDER), + _ => a.description().cmp(b.description()), } }); @@ -387,7 +382,7 @@ impl page::Page for Page { }) { let mut variants: Vec<_> = variants.collect(); variants.sort_unstable_by(|(_, _, desc_a, _), (_, _, desc_b, _)| { - desc_a.partial_cmp(desc_b).expect(STR_ORDER) + desc_a.cmp(desc_b) }); for (layout_name, name, description, source) in variants {