refactor: update imports to use as _ for unused identifiers across multiple files

This commit is contained in:
Tunglies
2025-11-09 22:15:37 +08:00
parent e6c8f762db
commit 4eeb883464
42 changed files with 74 additions and 58 deletions

View File

@@ -258,3 +258,7 @@ large_types_passed_by_value = "deny"
expl_impl_clone_on_copy = "deny" expl_impl_clone_on_copy = "deny"
copy_iterator = "deny" copy_iterator = "deny"
cloned_instead_of_copied = "deny" cloned_instead_of_copied = "deny"
# self_only_used_in_recursion = "deny" // Since 1.92.0
unnecessary_self_imports = "deny"
unused_trait_names = "deny"
wildcard_imports = "deny"

View File

@@ -2,18 +2,18 @@ use super::CmdResult;
use crate::core::sysopt::Sysopt; use crate::core::sysopt::Sysopt;
use crate::utils::resolve::ui::{self, UiReadyStage}; use crate::utils::resolve::ui::{self, UiReadyStage};
use crate::{ use crate::{
cmd::StringifyErr, cmd::StringifyErr as _,
feat, logging, feat, logging,
utils::{ utils::{
dirs::{self, PathBufExec}, dirs::{self, PathBufExec as _},
logging::Type, logging::Type,
}, },
}; };
use smartstring::alias::String; use smartstring::alias::String;
use std::path::Path; use std::path::Path;
use tauri::{AppHandle, Manager}; use tauri::{AppHandle, Manager as _};
use tokio::fs; use tokio::fs;
use tokio::io::AsyncWriteExt; use tokio::io::AsyncWriteExt as _;
/// 打开应用程序所在目录 /// 打开应用程序所在目录
#[tauri::command] #[tauri::command]

View File

@@ -1,5 +1,5 @@
use super::CmdResult; use super::CmdResult;
use crate::{cmd::StringifyErr, feat}; use crate::{cmd::StringifyErr as _, feat};
use feat::LocalBackupFile; use feat::LocalBackupFile;
use smartstring::alias::String; use smartstring::alias::String;

View File

@@ -1,7 +1,7 @@
use super::CmdResult; use super::CmdResult;
use crate::utils::dirs; use crate::utils::dirs;
use crate::{ use crate::{
cmd::StringifyErr, cmd::StringifyErr as _,
config::{ClashInfo, Config}, config::{ClashInfo, Config},
constants, constants,
core::{CoreManager, handle, validate::CoreConfigValidator}, core::{CoreManager, handle, validate::CoreConfigValidator},

View File

@@ -1,5 +1,5 @@
use super::CmdResult; use super::CmdResult;
use crate::cmd::StringifyErr; use crate::cmd::StringifyErr as _;
use crate::core::{EventDrivenProxyManager, async_proxy_query::AsyncProxyQuery}; use crate::core::{EventDrivenProxyManager, async_proxy_query::AsyncProxyQuery};
use crate::process::AsyncHandler; use crate::process::AsyncHandler;
use crate::{logging, utils::logging::Type}; use crate::{logging, utils::logging::Type};
@@ -93,7 +93,7 @@ pub fn get_network_interfaces() -> Vec<String> {
/// 获取网络接口详细信息 /// 获取网络接口详细信息
#[tauri::command] #[tauri::command]
pub fn get_network_interfaces_info() -> CmdResult<Vec<NetworkInterface>> { pub fn get_network_interfaces_info() -> CmdResult<Vec<NetworkInterface>> {
use network_interface::{NetworkInterface, NetworkInterfaceConfig}; use network_interface::{NetworkInterface, NetworkInterfaceConfig as _};
let names = get_network_interfaces(); let names = get_network_interfaces();
let interfaces = NetworkInterface::show().stringify_err()?; let interfaces = NetworkInterface::show().stringify_err()?;

View File

@@ -1,5 +1,5 @@
use super::CmdResult; use super::CmdResult;
use super::StringifyErr; use super::StringifyErr as _;
use crate::{ use crate::{
config::{ config::{
Config, IProfiles, PrfItem, PrfOption, Config, IProfiles, PrfItem, PrfOption,

View File

@@ -1,6 +1,11 @@
use super::CmdResult; use super::CmdResult;
use crate::{cmd::StringifyErr, config::*, core::CoreManager, log_err}; use crate::{
use anyhow::{Context, anyhow}; cmd::StringifyErr as _,
config::{Config, ConfigType},
core::CoreManager,
log_err,
};
use anyhow::{Context as _, anyhow};
use serde_yaml_ng::Mapping; use serde_yaml_ng::Mapping;
use smartstring::alias::String; use smartstring::alias::String;
use std::collections::HashMap; use std::collections::HashMap;

View File

@@ -1,8 +1,8 @@
use super::CmdResult; use super::CmdResult;
use crate::{ use crate::{
cmd::StringifyErr, cmd::StringifyErr as _,
config::*, config::{Config, PrfItem},
core::{validate::CoreConfigValidator, *}, core::{CoreManager, handle, validate::CoreConfigValidator},
logging, logging,
utils::{dirs, logging::Type}, utils::{dirs, logging::Type},
}; };

View File

@@ -1,4 +1,4 @@
use super::{CmdResult, StringifyErr}; use super::{CmdResult, StringifyErr as _};
use crate::core::service::{self, SERVICE_MANAGER, ServiceStatus}; use crate::core::service::{self, SERVICE_MANAGER, ServiceStatus};
use smartstring::SmartString; use smartstring::SmartString;

View File

@@ -10,7 +10,7 @@ use crate::{
#[cfg(target_os = "windows")] #[cfg(target_os = "windows")]
use deelevate::{PrivilegeLevel, Token}; use deelevate::{PrivilegeLevel, Token};
use once_cell::sync::Lazy; use once_cell::sync::Lazy;
use tauri_plugin_clipboard_manager::ClipboardExt; use tauri_plugin_clipboard_manager::ClipboardExt as _;
use tokio::time::Instant; use tokio::time::Instant;
// 存储应用启动时间的全局变量 // 存储应用启动时间的全局变量

View File

@@ -1,6 +1,6 @@
use super::CmdResult; use super::CmdResult;
use crate::{ use crate::{
core::{validate::CoreConfigValidator, *}, core::{handle, validate::CoreConfigValidator},
logging, logging,
utils::logging::Type, utils::logging::Type,
}; };

View File

@@ -1,5 +1,5 @@
use super::CmdResult; use super::CmdResult;
use crate::{cmd::StringifyErr, config::IVerge, feat, utils::draft::SharedBox}; use crate::{cmd::StringifyErr as _, config::IVerge, feat, utils::draft::SharedBox};
/// 获取Verge配置 /// 获取Verge配置
#[tauri::command] #[tauri::command]

View File

@@ -1,6 +1,6 @@
use super::CmdResult; use super::CmdResult;
use crate::{ use crate::{
cmd::StringifyErr, cmd::StringifyErr as _,
config::{Config, IVerge}, config::{Config, IVerge},
core, feat, core, feat,
}; };

View File

@@ -8,7 +8,7 @@ use serde::{Deserialize, Serialize};
use serde_yaml_ng::{Mapping, Value}; use serde_yaml_ng::{Mapping, Value};
use std::{ use std::{
net::{IpAddr, Ipv4Addr, SocketAddr}, net::{IpAddr, Ipv4Addr, SocketAddr},
str::FromStr, str::FromStr as _,
}; };
#[derive(Default, Debug, Clone)] #[derive(Default, Debug, Clone)]

View File

@@ -1,9 +1,9 @@
use crate::utils::dirs::get_encryption_key; use crate::utils::dirs::get_encryption_key;
use aes_gcm::{ use aes_gcm::{
Aes256Gcm, Key, Aes256Gcm, Key,
aead::{Aead, KeyInit}, aead::{Aead as _, KeyInit as _},
}; };
use base64::{Engine, engine::general_purpose::STANDARD}; use base64::{Engine as _, engine::general_purpose::STANDARD};
use serde::{Deserialize, Deserializer, Serialize, Serializer}; use serde::{Deserialize, Deserializer, Serialize, Serializer};
use std::cell::Cell; use std::cell::Cell;
use std::future::Future; use std::future::Future;

View File

@@ -6,7 +6,7 @@ use crate::{
tmpl, tmpl,
}, },
}; };
use anyhow::{Context, Result, bail}; use anyhow::{Context as _, Result, bail};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use serde_yaml_ng::Mapping; use serde_yaml_ng::Mapping;
use smartstring::alias::String; use smartstring::alias::String;

View File

@@ -1,10 +1,10 @@
use super::{PrfOption, prfitem::PrfItem}; use super::{PrfOption, prfitem::PrfItem};
use crate::utils::{ use crate::utils::{
dirs::{self, PathBufExec}, dirs::{self, PathBufExec as _},
help, help,
}; };
use crate::{logging, utils::logging::Type}; use crate::{logging, utils::logging::Type};
use anyhow::{Context, Result, bail}; use anyhow::{Context as _, Result, bail};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use serde_yaml_ng::Mapping; use serde_yaml_ng::Mapping;
use smartstring::alias::String; use smartstring::alias::String;

View File

@@ -13,7 +13,7 @@ use smartstring::alias::String;
use std::{ use std::{
collections::HashMap, collections::HashMap,
env::{consts::OS, temp_dir}, env::{consts::OS, temp_dir},
io::Write, io::Write as _,
path::PathBuf, path::PathBuf,
sync::Arc, sync::Arc,
time::Duration, time::Duration,

View File

@@ -2,7 +2,7 @@ use std::sync::Arc;
use tokio::sync::RwLock; use tokio::sync::RwLock;
use tokio::sync::{mpsc, oneshot}; use tokio::sync::{mpsc, oneshot};
use tokio::time::{Duration, sleep, timeout}; use tokio::time::{Duration, sleep, timeout};
use tokio_stream::{StreamExt, wrappers::UnboundedReceiverStream}; use tokio_stream::{StreamExt as _, wrappers::UnboundedReceiverStream};
use crate::config::{Config, IVerge}; use crate::config::{Config, IVerge};
use crate::core::{async_proxy_query::AsyncProxyQuery, handle}; use crate::core::{async_proxy_query::AsyncProxyQuery, handle};

View File

@@ -8,8 +8,8 @@ use std::{
}, },
thread, thread,
}; };
use tauri::{AppHandle, Manager, WebviewWindow}; use tauri::{AppHandle, Manager as _, WebviewWindow};
use tauri_plugin_mihomo::{Mihomo, MihomoExt}; use tauri_plugin_mihomo::{Mihomo, MihomoExt as _};
use tokio::sync::RwLockReadGuard; use tokio::sync::RwLockReadGuard;
use super::notification::{ErrorMessage, FrontendEvent, NotificationSystem}; use super::notification::{ErrorMessage, FrontendEvent, NotificationSystem};

View File

@@ -8,7 +8,7 @@ use anyhow::{Result, bail};
use arc_swap::ArcSwap; use arc_swap::ArcSwap;
use smartstring::alias::String; use smartstring::alias::String;
use std::{collections::HashMap, fmt, str::FromStr, sync::Arc}; use std::{collections::HashMap, fmt, str::FromStr, sync::Arc};
use tauri_plugin_global_shortcut::{Code, GlobalShortcutExt, ShortcutState}; use tauri_plugin_global_shortcut::{Code, GlobalShortcutExt as _, ShortcutState};
/// Enum representing all available hotkey functions /// Enum representing all available hotkey functions
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]

View File

@@ -1,6 +1,6 @@
use super::CoreManager; use super::CoreManager;
use crate::{ use crate::{
config::*, config::{Config, ConfigType, IRuntime},
constants::timing, constants::timing,
core::{handle, validate::CoreConfigValidator}, core::{handle, validate::CoreConfigValidator},
logging, logging,

View File

@@ -16,7 +16,7 @@ use compact_str::CompactString;
use flexi_logger::DeferredNow; use flexi_logger::DeferredNow;
use log::Level; use log::Level;
use scopeguard::defer; use scopeguard::defer;
use tauri_plugin_shell::ShellExt; use tauri_plugin_shell::ShellExt as _;
impl CoreManager { impl CoreManager {
pub async fn get_clash_logs(&self) -> Result<Vec<CompactString>> { pub async fn get_clash_logs(&self) -> Result<Vec<CompactString>> {

View File

@@ -14,7 +14,7 @@ use std::{
thread, thread,
time::{Duration, Instant}, time::{Duration, Instant},
}; };
use tauri::{Emitter, WebviewWindow}; use tauri::{Emitter as _, WebviewWindow};
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub enum FrontendEvent { pub enum FrontendEvent {

View File

@@ -4,7 +4,7 @@ use crate::{
logging, logging_error, logging, logging_error,
utils::{dirs, init::service_writer_config, logging::Type}, utils::{dirs, init::service_writer_config, logging::Type},
}; };
use anyhow::{Context, Result, bail}; use anyhow::{Context as _, Result, bail};
use clash_verge_service_ipc::CoreConfig; use clash_verge_service_ipc::CoreConfig;
use compact_str::CompactString; use compact_str::CompactString;
use once_cell::sync::Lazy; use once_cell::sync::Lazy;

View File

@@ -12,7 +12,7 @@ use smartstring::alias::String;
use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::atomic::{AtomicBool, Ordering};
#[cfg(not(target_os = "windows"))] #[cfg(not(target_os = "windows"))]
use sysproxy::{Autoproxy, Sysproxy}; use sysproxy::{Autoproxy, Sysproxy};
use tauri_plugin_autostart::ManagerExt; use tauri_plugin_autostart::ManagerExt as _;
pub struct Sysopt { pub struct Sysopt {
initialed: AtomicBool, initialed: AtomicBool,

View File

@@ -2,7 +2,7 @@ use crate::{
config::Config, core::sysopt::Sysopt, feat, logging, logging_error, singleton, config::Config, core::sysopt::Sysopt, feat, logging, logging_error, singleton,
utils::logging::Type, utils::logging::Type,
}; };
use anyhow::{Context, Result}; use anyhow::{Context as _, Result};
use delay_timer::prelude::{DelayTimer, DelayTimerBuilder, TaskBuilder}; use delay_timer::prelude::{DelayTimer, DelayTimerBuilder, TaskBuilder};
use parking_lot::RwLock; use parking_lot::RwLock;
use smartstring::alias::String; use smartstring::alias::String;

View File

@@ -2,7 +2,7 @@ use anyhow::Result;
use scopeguard::defer; use scopeguard::defer;
use smartstring::alias::String; use smartstring::alias::String;
use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::atomic::{AtomicBool, Ordering};
use tauri_plugin_shell::ShellExt; use tauri_plugin_shell::ShellExt as _;
use tokio::fs; use tokio::fs;
use crate::config::{Config, ConfigType}; use crate::config::{Config, ConfigType};

View File

@@ -5,7 +5,14 @@ mod script;
pub mod seq; pub mod seq;
mod tun; mod tun;
use self::{chain::*, field::*, merge::*, script::*, seq::*, tun::*}; use self::{
chain::{AsyncChainItemFrom as _, ChainItem, ChainType},
field::{use_keys, use_lowercase, use_sort},
merge::use_merge,
script::use_script,
seq::{SeqMap, use_seq},
tun::use_tun,
};
use crate::constants; use crate::constants;
use crate::utils::dirs; use crate::utils::dirs;
use crate::{config::Config, utils::tmpl}; use crate::{config::Config, utils::tmpl};

View File

@@ -4,7 +4,7 @@ use crate::{
logging, logging_error, logging, logging_error,
process::AsyncHandler, process::AsyncHandler,
utils::{ utils::{
dirs::{PathBufExec, app_home_dir, local_backup_dir}, dirs::{PathBufExec as _, app_home_dir, local_backup_dir},
logging::Type, logging::Type,
}, },
}; };

View File

@@ -7,7 +7,7 @@ use crate::{
}; };
use anyhow::{Result, bail}; use anyhow::{Result, bail};
use smartstring::alias::String; use smartstring::alias::String;
use tauri::Emitter; use tauri::Emitter as _;
/// Toggle proxy profile /// Toggle proxy profile
pub async fn toggle_proxy_profile(profile_index: String) { pub async fn toggle_proxy_profile(profile_index: String) {

View File

@@ -5,7 +5,7 @@ use crate::{
utils::logging::Type, utils::logging::Type,
}; };
use std::env; use std::env;
use tauri_plugin_clipboard_manager::ClipboardExt; use tauri_plugin_clipboard_manager::ClipboardExt as _;
/// Toggle system proxy on/off /// Toggle system proxy on/off
pub async fn toggle_system_proxy() { pub async fn toggle_system_proxy() {

View File

@@ -26,10 +26,10 @@ use anyhow::Result;
use config::Config; use config::Config;
use once_cell::sync::OnceCell; use once_cell::sync::OnceCell;
use rust_i18n::i18n; use rust_i18n::i18n;
use tauri::{AppHandle, Manager}; use tauri::{AppHandle, Manager as _};
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
use tauri_plugin_autostart::MacosLauncher; use tauri_plugin_autostart::MacosLauncher;
use tauri_plugin_deep_link::DeepLinkExt; use tauri_plugin_deep_link::DeepLinkExt as _;
use utils::logging::Type; use utils::logging::Type;
i18n!("locales", fallback = "zh"); i18n!("locales", fallback = "zh");

View File

@@ -10,10 +10,10 @@ use crate::{
use crate::logging_error; use crate::logging_error;
use crate::utils::window_manager::WindowManager; use crate::utils::window_manager::WindowManager;
use anyhow::{Context, Result}; use anyhow::{Context as _, Result};
use delay_timer::prelude::TaskBuilder; use delay_timer::prelude::TaskBuilder;
use std::sync::atomic::{AtomicU8, AtomicU32, Ordering}; use std::sync::atomic::{AtomicU8, AtomicU32, Ordering};
use tauri::Listener; use tauri::Listener as _;
const LIGHT_WEIGHT_TASK_UID: &str = "light_weight_task"; const LIGHT_WEIGHT_TASK_UID: &str = "light_weight_task";

View File

@@ -9,7 +9,7 @@ use once_cell::sync::OnceCell;
#[cfg(unix)] #[cfg(unix)]
use std::iter; use std::iter;
use std::{fs, path::PathBuf}; use std::{fs, path::PathBuf};
use tauri::Manager; use tauri::Manager as _;
#[cfg(not(feature = "verge-dev"))] #[cfg(not(feature = "verge-dev"))]
pub static APP_ID: &str = "io.github.clash-verge-rev.clash-verge-rev"; pub static APP_ID: &str = "io.github.clash-verge-rev.clash-verge-rev";

View File

@@ -1,5 +1,5 @@
use crate::{config::with_encryption, enhance::seq::SeqMap, logging, utils::logging::Type}; use crate::{config::with_encryption, enhance::seq::SeqMap, logging, utils::logging::Type};
use anyhow::{Context, Result, anyhow, bail}; use anyhow::{Context as _, Result, anyhow, bail};
use nanoid::nanoid; use nanoid::nanoid;
use serde::{Serialize, de::DeserializeOwned}; use serde::{Serialize, de::DeserializeOwned};
use serde_yaml_ng::Mapping; use serde_yaml_ng::Mapping;

View File

@@ -2,26 +2,26 @@
#[cfg(not(feature = "tauri-dev"))] #[cfg(not(feature = "tauri-dev"))]
use crate::utils::logging::NoModuleFilter; use crate::utils::logging::NoModuleFilter;
use crate::{ use crate::{
config::*, config::{Config, IClashTemp, IProfiles, IVerge},
constants, constants,
core::handle, core::handle,
logging, logging,
process::AsyncHandler, process::AsyncHandler,
utils::{ utils::{
dirs::{self, PathBufExec, service_log_dir, sidecar_log_dir}, dirs::{self, PathBufExec as _, service_log_dir, sidecar_log_dir},
help, help,
logging::Type, logging::Type,
}, },
}; };
use anyhow::Result; use anyhow::Result;
use chrono::{Local, TimeZone}; use chrono::{Local, TimeZone as _};
use clash_verge_service_ipc::WriterConfig; use clash_verge_service_ipc::WriterConfig;
use flexi_logger::writers::FileLogWriter; use flexi_logger::writers::FileLogWriter;
use flexi_logger::{Cleanup, Criterion, FileSpec}; use flexi_logger::{Cleanup, Criterion, FileSpec};
#[cfg(not(feature = "tauri-dev"))] #[cfg(not(feature = "tauri-dev"))]
use flexi_logger::{Duplicate, LogSpecBuilder, Logger}; use flexi_logger::{Duplicate, LogSpecBuilder, Logger};
use std::{path::PathBuf, str::FromStr}; use std::{path::PathBuf, str::FromStr as _};
use tauri_plugin_shell::ShellExt; use tauri_plugin_shell::ShellExt as _;
use tokio::fs; use tokio::fs;
use tokio::fs::DirEntry; use tokio::fs::DirEntry;

View File

@@ -3,7 +3,7 @@ use flexi_logger::DeferredNow;
#[cfg(not(feature = "tauri-dev"))] #[cfg(not(feature = "tauri-dev"))]
use flexi_logger::filter::LogLineFilter; use flexi_logger::filter::LogLineFilter;
use flexi_logger::writers::FileLogWriter; use flexi_logger::writers::FileLogWriter;
use flexi_logger::writers::LogWriter; use flexi_logger::writers::LogWriter as _;
use log::Level; use log::Level;
use log::Record; use log::Record;
use std::{fmt, sync::Arc}; use std::{fmt, sync::Arc};

View File

@@ -1,5 +1,5 @@
use crate::{core::handle, utils::i18n}; use crate::{core::handle, utils::i18n};
use tauri_plugin_notification::NotificationExt; use tauri_plugin_notification::NotificationExt as _;
pub enum NotificationEvent<'a> { pub enum NotificationEvent<'a> {
DashboardToggled, DashboardToggled,

View File

@@ -3,7 +3,7 @@ use crate::{logging, utils::logging::Type};
pub async fn set_public_dns(dns_server: String) { pub async fn set_public_dns(dns_server: String) {
use crate::utils::logging::Type; use crate::utils::logging::Type;
use crate::{core::handle, logging, utils::dirs}; use crate::{core::handle, logging, utils::dirs};
use tauri_plugin_shell::ShellExt; use tauri_plugin_shell::ShellExt as _;
let app_handle = handle::Handle::app_handle(); let app_handle = handle::Handle::app_handle();
logging!(info, Type::Config, "try to set system dns"); logging!(info, Type::Config, "try to set system dns");
@@ -50,7 +50,7 @@ pub async fn set_public_dns(dns_server: String) {
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
pub async fn restore_public_dns() { pub async fn restore_public_dns() {
use crate::{core::handle, utils::dirs}; use crate::{core::handle, utils::dirs};
use tauri_plugin_shell::ShellExt; use tauri_plugin_shell::ShellExt as _;
let app_handle = handle::Handle::app_handle(); let app_handle = handle::Handle::app_handle();
logging!(info, Type::Config, "try to unset system dns"); logging!(info, Type::Config, "try to unset system dns");
let resource_dir = match dirs::app_resources_dir() { let resource_dir = match dirs::app_resources_dir() {

View File

@@ -14,7 +14,7 @@ use reqwest::ClientBuilder;
use smartstring::alias::String; use smartstring::alias::String;
use std::time::Duration; use std::time::Duration;
use tokio::sync::oneshot; use tokio::sync::oneshot;
use warp::Filter; use warp::Filter as _;
#[derive(serde::Deserialize, Debug)] #[derive(serde::Deserialize, Debug)]
struct QueryParam { struct QueryParam {

View File

@@ -5,7 +5,7 @@ use crate::{
}; };
use std::future::Future; use std::future::Future;
use std::pin::Pin; use std::pin::Pin;
use tauri::{Manager, WebviewWindow, Wry}; use tauri::{Manager as _, WebviewWindow, Wry};
use once_cell::sync::OnceCell; use once_cell::sync::OnceCell;
use parking_lot::Mutex; use parking_lot::Mutex;