mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-01-29 08:45:41 +08:00
refactor: replace cloned() with clone() for improved performance in multiple files
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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!(
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user