From a35573d8eb8ca34b6690168f32fdaefc51194b49 Mon Sep 17 00:00:00 2001 From: LGUG2Z Date: Sat, 31 Oct 2026 12:38:08 -0700 Subject: [PATCH] fix(kde): StaticConfigExt takes &Path instead of &PathBuf (clippy::ptr_arg) The KDE twin of the macOS fix: the trait declarations of preload, postload and reload (static_config.rs:726, :732, :735; the impls follow) took &PathBuf, introduced by the same step 3 conversion to the extension trait. read takes &Path since the config-crate revision; the one clone of the path is path.to_path_buf(). No behaviour change. Verified: native cargo clippy --locked -p komorebi --all-targets -D warnings in komorebi-for-kde: clean (the 3 ptr_arg errors that predated the backend work are gone); cargo test --locked -p komorebi --lib: 294 passed, 0 failed. --- komorebi-for-kde/komorebi/src/static_config.rs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/komorebi-for-kde/komorebi/src/static_config.rs b/komorebi-for-kde/komorebi/src/static_config.rs index 92658913..e73caa32 100644 --- a/komorebi-for-kde/komorebi/src/static_config.rs +++ b/komorebi-for-kde/komorebi/src/static_config.rs @@ -86,6 +86,7 @@ use std::io::ErrorKind; use std::io::Write; use std::os::unix::net::UnixListener; use std::os::unix::net::UnixStream; +use std::path::Path; use std::path::PathBuf; use std::sync::Arc; use std::sync::atomic::Ordering; @@ -723,16 +724,16 @@ impl ApplyGlobals for StaticConfig { pub trait StaticConfigExt: Sized { /// Makes the window manager from the file at `path`, and starts watching the file fn preload( - path: &PathBuf, + path: &Path, incoming: Receiver, unix_listener: Option, ) -> eyre::Result; /// Gives the monitors of the window manager what the file says about them - fn postload(path: &PathBuf, wm: &Arc>) -> eyre::Result<()>; + fn postload(path: &Path, wm: &Arc>) -> eyre::Result<()>; /// Replaces the configuration of the window manager with the file at `path` - fn reload(path: &PathBuf, wm: &mut WindowManager) -> eyre::Result<()>; + fn reload(path: &Path, wm: &mut WindowManager) -> eyre::Result<()>; } impl StaticConfigExt for StaticConfig { @@ -755,7 +756,7 @@ impl StaticConfigExt for StaticConfig { /// - The file cannot be watched. #[allow(clippy::too_many_lines)] fn preload( - path: &PathBuf, + path: &Path, incoming: Receiver, unix_listener: Option, ) -> eyre::Result { @@ -830,7 +831,7 @@ impl StaticConfigExt for StaticConfig { known_window_ids: HashMap::new(), }; - let bytes = SocketMessage::ReloadStaticConfiguration(path.clone()).as_bytes()?; + let bytes = SocketMessage::ReloadStaticConfiguration(path.to_path_buf()).as_bytes()?; wm.hotwatch.watch(path, move |event| match event.kind { // an editor either writes the file in place or replaces it with a new one, which is a @@ -860,7 +861,7 @@ impl StaticConfigExt for StaticConfig { /// # Errors /// /// The file cannot be read or is not a configuration ([`StaticConfig::read`]). - fn postload(path: &PathBuf, wm: &Arc>) -> eyre::Result<()> { + fn postload(path: &Path, wm: &Arc>) -> eyre::Result<()> { let mut value = Self::read(path)?; let mut wm = wm.lock(); @@ -1036,7 +1037,7 @@ impl StaticConfigExt for StaticConfig { /// - The file cannot be read or is not a configuration ([`StaticConfig::read`]); nothing has /// changed then. /// - A rule has a regular expression that is not valid; the settings before it have changed. - fn reload(path: &PathBuf, wm: &mut WindowManager) -> eyre::Result<()> { + fn reload(path: &Path, wm: &mut WindowManager) -> eyre::Result<()> { let mut value = Self::read(path)?; value.apply_globals()?;