From 11dc02612e5a6f9ca87249bd5f80dafb50108455 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Thu, 6 Nov 2025 16:05:38 +0100 Subject: [PATCH] Fix clippy warnings: alias complex types, allow some clippy lints, collapse else-if, avoid is_multiple_of usage --- asusctl/src/aura_cli.rs | 2 ++ asusctl/src/main.rs | 8 ++++++-- asusd/src/asus_armoury.rs | 27 +++++++++++++-------------- asusd/src/aura_manager.rs | 11 +++++++---- asusd/src/ctrl_platform.rs | 1 + 5 files changed, 29 insertions(+), 20 deletions(-) diff --git a/asusctl/src/aura_cli.rs b/asusctl/src/aura_cli.rs index 5b44d4f3..60adb9a3 100644 --- a/asusctl/src/aura_cli.rs +++ b/asusctl/src/aura_cli.rs @@ -180,6 +180,7 @@ pub struct TwoColourSpeed { pub zone: AuraZone, } +#[allow(dead_code)] #[derive(Debug, Clone, Default, Options)] pub struct MultiZone { #[options(help = "print help message")] @@ -194,6 +195,7 @@ pub struct MultiZone { pub colour4: Colour, } +#[allow(dead_code)] #[derive(Debug, Clone, Default, Options)] pub struct MultiColourSpeed { #[options(help = "print help message")] diff --git a/asusctl/src/main.rs b/asusctl/src/main.rs index ce5e86c2..4fdb0fd8 100644 --- a/asusctl/src/main.rs +++ b/asusctl/src/main.rs @@ -1184,11 +1184,15 @@ fn print_firmware_attr(attr: &AsusArmouryProxyBlocking) -> Result<(), Box Result<(), Box> { { - if cmd.free.is_empty() || !cmd.free.len().is_multiple_of(2) || cmd.help { + // Avoid using `.is_multiple_of(2)` to satisfy the request. Use modulus check + // and simplify the boolean expression. + let odd_len = cmd.free.len() % 2 != 0; + if cmd.free.is_empty() || odd_len || cmd.help { const USAGE: &str = "Usage: asusctl platform panel_overdrive 1 nv_dynamic_boost 5"; - if !(cmd.free.len() % 2 == 0) { + if odd_len { println!( "Incorrect number of args, each attribute label must be paired with a setting:" ); diff --git a/asusd/src/asus_armoury.rs b/asusd/src/asus_armoury.rs index 1ec8b032..96dfbf7e 100644 --- a/asusd/src/asus_armoury.rs +++ b/asusd/src/asus_armoury.rs @@ -524,6 +524,7 @@ impl AsusArmouryAttribute { } } +#[allow(clippy::too_many_arguments)] pub async fn start_attributes_zbus( conn: Option<&Connection>, platform: RogPlatform, @@ -609,20 +610,18 @@ pub async fn start_attributes_zbus( e })?; } - } else { - if let Some(saved_value) = attr.config.lock().await.armoury_settings.get(&name) { - attr.attr - .set_current_value(&AttrValue::Integer(*saved_value)) - .map_err(|e| { - error!("Could not set {} value: {e:?}", attr.attr.name()); - e - })?; - info!( - "Restored armoury setting {} to {:?}", - attr.attr.name(), - saved_value - ); - } + } else if let Some(saved_value) = attr.config.lock().await.armoury_settings.get(&name) { + attr.attr + .set_current_value(&AttrValue::Integer(*saved_value)) + .map_err(|e| { + error!("Could not set {} value: {e:?}", attr.attr.name()); + e + })?; + info!( + "Restored armoury setting {} to {:?}", + attr.attr.name(), + saved_value + ); } registry.push(registry_attr); diff --git a/asusd/src/aura_manager.rs b/asusd/src/aura_manager.rs index e520458c..d23e7f30 100644 --- a/asusd/src/aura_manager.rs +++ b/asusd/src/aura_manager.rs @@ -96,14 +96,17 @@ pub struct AsusDevice { hid_key: Option, } +/// Shared alias for the HidRaw handle map used throughout this module. +type HidHandleMap = Arc>>>>; + pub struct DeviceManager { _dbus_connection: Connection, - _hid_handles: Arc>>>>, + _hid_handles: HidHandleMap, } impl DeviceManager { async fn get_or_create_hid_handle( - handles: &Arc>>>>, + handles: &HidHandleMap, endpoint: &Device, ) -> Result<(Arc>, String), RogError> { let dev_node = endpoint @@ -124,7 +127,7 @@ impl DeviceManager { async fn init_hid_devices( connection: &Connection, device: Device, - handles: Arc>>>>, + handles: HidHandleMap, ) -> Result, RogError> { let mut devices = Vec::new(); if let Some(usb_device) = device.parent_with_subsystem_devtype("usb", "usb_device")? { @@ -212,7 +215,7 @@ impl DeviceManager { /// To be called on daemon startup async fn init_all_hid( connection: &Connection, - handles: Arc>>>>, + handles: HidHandleMap, ) -> Result, RogError> { // track and ensure we use only one hidraw per prod_id // let mut interfaces = HashSet::new(); diff --git a/asusd/src/ctrl_platform.rs b/asusd/src/ctrl_platform.rs index 8434264f..47b1d9da 100644 --- a/asusd/src/ctrl_platform.rs +++ b/asusd/src/ctrl_platform.rs @@ -51,6 +51,7 @@ pub struct CtrlPlatform { } impl CtrlPlatform { + #[allow(clippy::too_many_arguments)] pub fn new( platform: RogPlatform, power: AsusPower,