refactor: replace cloned() with clone() for improved performance in multiple files

This commit is contained in:
Tunglies
2025-11-09 22:07:12 +08:00
parent 7f267fa727
commit e6c8f762db
4 changed files with 16 additions and 12 deletions

View File

@@ -190,8 +190,10 @@ unimplemented = "deny"
# Development quality lints # Development quality lints
todo = "warn" todo = "warn"
dbg_macro = "warn" dbg_macro = "warn"
#print_stdout = "warn"
#print_stderr = "warn" # 我们期望所有输出方式通过 logging 模块进行统一管理
# print_stdout = "deny"
# print_stderr = "deny"
# Performance lints for proxy application # Performance lints for proxy application
clone_on_ref_ptr = "warn" clone_on_ref_ptr = "warn"
@@ -249,3 +251,10 @@ iter_on_empty_collections = "deny"
equatable_if_let = "deny" equatable_if_let = "deny"
collection_is_never_read = "deny" collection_is_never_read = "deny"
branches_sharing_code = "deny" branches_sharing_code = "deny"
pathbuf_init_then_push = "deny"
option_as_ref_cloned = "deny"
large_types_passed_by_value = "deny"
# implicit_clone = "deny" // 可能会造成额外开销,暂时不开启
expl_impl_clone_on_copy = "deny"
copy_iterator = "deny"
cloned_instead_of_copied = "deny"

View File

@@ -100,13 +100,12 @@ impl WebDavClient {
let config = WebDavConfig { let config = WebDavConfig {
url: verge url: verge
.webdav_url .webdav_url
.as_ref() .clone()
.cloned()
.unwrap_or_default() .unwrap_or_default()
.trim_end_matches('/') .trim_end_matches('/')
.into(), .into(),
username: verge.webdav_username.as_ref().cloned().unwrap_or_default(), username: verge.webdav_username.clone().unwrap_or_default(),
password: verge.webdav_password.as_ref().cloned().unwrap_or_default(), password: verge.webdav_password.clone().unwrap_or_default(),
}; };
// 存储配置到 ArcSwapOption // 存储配置到 ArcSwapOption

View File

@@ -274,7 +274,7 @@ impl Hotkey {
); );
// Extract hotkeys data before async operations // Extract hotkeys data before async operations
let hotkeys = verge.data_arc().hotkeys.as_ref().cloned(); let hotkeys = verge.data_arc().hotkeys.clone();
if let Some(hotkeys) = hotkeys { if let Some(hotkeys) = hotkeys {
logging!( logging!(

View File

@@ -27,11 +27,7 @@ impl<T: Clone> Draft<T> {
/// 这也是零拷贝:只 clone Arc不 clone T /// 这也是零拷贝:只 clone Arc不 clone T
pub fn latest_arc(&self) -> SharedBox<T> { pub fn latest_arc(&self) -> SharedBox<T> {
let guard = self.inner.read(); let guard = self.inner.read();
guard guard.1.clone().unwrap_or_else(|| Arc::clone(&guard.0))
.1
.as_ref()
.cloned()
.unwrap_or_else(|| Arc::clone(&guard.0))
} }
/// 通过闭包以可变方式编辑草稿(在闭包中我们给出 &mut T /// 通过闭包以可变方式编辑草稿(在闭包中我们给出 &mut T