diff options
Diffstat (limited to 'crates/utils')
| -rw-r--r-- | crates/utils/cfg_file/cfg_file_derive/src/lib.rs | 8 | ||||
| -rw-r--r-- | crates/utils/cfg_file/src/config.rs | 9 | ||||
| -rw-r--r-- | crates/utils/tcp_connection/src/target.rs | 8 |
3 files changed, 11 insertions, 14 deletions
diff --git a/crates/utils/cfg_file/cfg_file_derive/src/lib.rs b/crates/utils/cfg_file/cfg_file_derive/src/lib.rs index 3a6d0fd..c43fd59 100644 --- a/crates/utils/cfg_file/cfg_file_derive/src/lib.rs +++ b/crates/utils/cfg_file/cfg_file_derive/src/lib.rs @@ -17,8 +17,7 @@ pub fn derive_config_file(input: TokenStream) -> TokenStream { // Process 'cfg_file' let path_expr = match find_cfg_file_path(&input.attrs) { Some(path) => { - if path.starts_with("./") { - let path_str = &path[2..]; + if let Some(path_str) = path.strip_prefix("./") { quote! { std::env::current_dir()?.join(#path_str) } @@ -55,11 +54,10 @@ fn find_cfg_file_path(attrs: &[Attribute]) -> Option<String> { if attr.path().is_ident("cfg_file") { let parser = |meta: ParseStream| { let path_meta: syn::MetaNameValue = meta.parse()?; - if path_meta.path.is_ident("path") { - if let syn::Expr::Lit(syn::ExprLit { lit: syn::Lit::Str(lit), .. }) = path_meta.value { + if path_meta.path.is_ident("path") + && let syn::Expr::Lit(syn::ExprLit { lit: syn::Lit::Str(lit), .. }) = path_meta.value { return Ok(lit.value()); } - } Err(meta.error("expected `path = \"...\"`")) }; diff --git a/crates/utils/cfg_file/src/config.rs b/crates/utils/cfg_file/src/config.rs index dd542cf..2bc104d 100644 --- a/crates/utils/cfg_file/src/config.rs +++ b/crates/utils/cfg_file/src/config.rs @@ -58,7 +58,7 @@ pub trait ConfigFile: Serialize + for<'a> Deserialize<'a> + Default { { let path = path.as_ref(); let file_path = match current_dir() { - Ok(cwd) => cwd.join(&path), + Ok(cwd) => cwd.join(path), Err(e) => { eprintln!("Failed to get current directory: {}", e); return Self::DataType::default(); @@ -135,14 +135,13 @@ pub trait ConfigFile: Serialize + for<'a> Deserialize<'a> + Default { { let path = path.as_ref(); - if let Some(parent) = path.parent() { - if ! parent.exists() { + if let Some(parent) = path.parent() + && ! parent.exists() { let _ = tokio::fs::create_dir_all(parent).await; } - } let file_path = match current_dir() { - Ok(cwd) => cwd.join(&path), + Ok(cwd) => cwd.join(path), Err(e) => { eprintln!("Failed to get current directory: {}", e); return; diff --git a/crates/utils/tcp_connection/src/target.rs b/crates/utils/tcp_connection/src/target.rs index ec7b6af..8fc14ef 100644 --- a/crates/utils/tcp_connection/src/target.rs +++ b/crates/utils/tcp_connection/src/target.rs @@ -51,13 +51,13 @@ where Client: ClientHandle<Server>, } } -impl<Client, Server> Into<SocketAddr> for TcpServerTarget<Client, Server> +impl<Client, Server> From<TcpServerTarget<Client, Server>> for SocketAddr where Client: ClientHandle<Server>, Server: ServerHandle<Client> { /// Convert TcpServerTarget to SocketAddr - fn into(self) -> SocketAddr { - SocketAddr::new(self.bind_addr, self.port) + fn from(val: TcpServerTarget<Client, Server>) -> Self { + SocketAddr::new(val.bind_addr, val.port) } } @@ -123,7 +123,7 @@ async fn domain_to_addr<'a>(domain: impl Into<&'a str>) -> Result<SocketAddr, st let (host, port_str) = if let Some((host, port)) = domain.rsplit_once(':') { (host.trim_matches(|c| c == '[' || c == ']'), Some(port)) } else { - (&domain[..], None) + (domain, None) }; let port = port_str |
