diff --git a/src-tauri/src/core/async_proxy_query.rs b/src-tauri/src/core/async_proxy_query.rs index c9e31c67..f0e579f6 100644 --- a/src-tauri/src/core/async_proxy_query.rs +++ b/src-tauri/src/core/async_proxy_query.rs @@ -347,11 +347,12 @@ impl AsyncProxyQuery { &mut buffer_size, ); - let mut proxy_server = String::new(); - if server_result == 0 && value_type == REG_SZ && buffer_size > 0 { + let proxy_server = if server_result == 0 && value_type == REG_SZ && buffer_size > 0 { let end_pos = buffer.iter().position(|&x| x == 0).unwrap_or(buffer.len()); - proxy_server = String::from_utf16_lossy(&buffer[..end_pos]); - } + String::from_utf16_lossy(&buffer[..end_pos]) + } else { + String::new() + }; // 读取代理绕过列表 let proxy_override_name = "ProxyOverride\0".encode_utf16().collect::>(); @@ -368,14 +369,16 @@ impl AsyncProxyQuery { &mut bypass_buffer_size, ); - let mut bypass_list = String::new(); - if override_result == 0 && bypass_value_type == REG_SZ && bypass_buffer_size > 0 { - let end_pos = bypass_buffer - .iter() - .position(|&x| x == 0) - .unwrap_or(bypass_buffer.len()); - bypass_list = String::from_utf16_lossy(&bypass_buffer[..end_pos]); - } + let bypass_list = + if override_result == 0 && bypass_value_type == REG_SZ && bypass_buffer_size > 0 { + let end_pos = bypass_buffer + .iter() + .position(|&x| x == 0) + .unwrap_or(bypass_buffer.len()); + String::from_utf16_lossy(&bypass_buffer[..end_pos]) + } else { + String::new() + }; RegCloseKey(hkey); diff --git a/src-tauri/src/core/service.rs b/src-tauri/src/core/service.rs index 9f892423..28e0dc97 100644 --- a/src-tauri/src/core/service.rs +++ b/src-tauri/src/core/service.rs @@ -136,7 +136,7 @@ async fn uninstall_service() -> Result<()> { let elevator = crate::utils::help::linux_elevator(); let status = match get_effective_uid() { 0 => StdCommand::new(uninstall_shell).status()?, - _ => StdCommand::new(elevator.clone()) + _ => StdCommand::new(elevator) .arg("sh") .arg("-c") .arg(uninstall_shell) @@ -177,7 +177,7 @@ async fn install_service() -> Result<()> { let elevator = crate::utils::help::linux_elevator(); let status = match get_effective_uid() { 0 => StdCommand::new(install_shell).status()?, - _ => StdCommand::new(elevator.clone()) + _ => StdCommand::new(elevator) .arg("sh") .arg("-c") .arg(install_shell) diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 7555e477..38c4d951 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -351,7 +351,7 @@ pub fn run() { }); } - pub fn handle_window_destroyed() { + pub const fn handle_window_destroyed() { #[cfg(target_os = "macos")] { use crate::core::hotkey::SystemHotkey; diff --git a/src-tauri/src/utils/linux.rs b/src-tauri/src/utils/linux.rs index 446412ef..65e0ae49 100644 --- a/src-tauri/src/utils/linux.rs +++ b/src-tauri/src/utils/linux.rs @@ -19,7 +19,7 @@ struct IntelGpuDetection { } impl IntelGpuDetection { - fn should_disable_dmabuf(&self) -> bool { + const fn should_disable_dmabuf(&self) -> bool { self.intel_is_primary || self.inconclusive } } @@ -41,7 +41,7 @@ enum NvidiaDmabufDisableReason { } impl NvidiaGpuDetection { - fn disable_reason(&self, session: &SessionEnv) -> Option { + const fn disable_reason(&self, session: &SessionEnv) -> Option { if !session.is_wayland { return None; } @@ -144,11 +144,11 @@ impl DmabufOverrides { } } - fn has_env_override(&self) -> bool { + const fn has_env_override(&self) -> bool { self.dmabuf_override.is_some() } - fn should_override_env(&self, decision: &DmabufDecision) -> bool { + const fn should_override_env(&self, decision: &DmabufDecision) -> bool { if self.user_preference.is_some() { return true; }