From ca492bca4d93a961de4b3bd2906d04f17204c492 Mon Sep 17 00:00:00 2001 From: brandonpike Date: Mon, 15 Jul 2024 22:30:26 -0500 Subject: [PATCH] Fix lint warnings for rust-1.79 (#769) 2 things that are recommended by rust-lang - implementing `std::fmt::Display` rather than ToString (1) and using clone_from (2). [1] https://rust-lang.github.io/rust-clippy/master/index.html#/to_string_trait_impl [2] https://rust-lang.github.io/rust-clippy/master/index.html#assigning_clones Signed-off-by: Brandon Pike --- src/config.rs | 43 +++++++++++++++++++++++-------------------- src/sharding.rs | 10 +++++----- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/src/config.rs b/src/config.rs index 2bc8cd8a..32d62af7 100644 --- a/src/config.rs +++ b/src/config.rs @@ -38,12 +38,12 @@ pub enum Role { Mirror, } -impl ToString for Role { - fn to_string(&self) -> String { - match *self { - Role::Primary => "primary".to_string(), - Role::Replica => "replica".to_string(), - Role::Mirror => "mirror".to_string(), +impl std::fmt::Display for Role { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Role::Primary => write!(f, "primary"), + Role::Replica => write!(f, "replica"), + Role::Mirror => write!(f, "mirror"), } } } @@ -488,11 +488,11 @@ pub enum PoolMode { Session, } -impl ToString for PoolMode { - fn to_string(&self) -> String { - match *self { - PoolMode::Transaction => "transaction".to_string(), - PoolMode::Session => "session".to_string(), +impl std::fmt::Display for PoolMode { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + PoolMode::Transaction => write!(f, "transaction"), + PoolMode::Session => write!(f, "session"), } } } @@ -505,12 +505,13 @@ pub enum LoadBalancingMode { #[serde(alias = "loc", alias = "LOC", alias = "least_outstanding_connections")] LeastOutstandingConnections, } -impl ToString for LoadBalancingMode { - fn to_string(&self) -> String { - match *self { - LoadBalancingMode::Random => "random".to_string(), + +impl std::fmt::Display for LoadBalancingMode { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + LoadBalancingMode::Random => write!(f, "random"), LoadBalancingMode::LeastOutstandingConnections => { - "least_outstanding_connections".to_string() + write!(f, "least_outstanding_connections") } } } @@ -1011,15 +1012,17 @@ impl Config { pub fn fill_up_auth_query_config(&mut self) { for (_name, pool) in self.pools.iter_mut() { if pool.auth_query.is_none() { - pool.auth_query = self.general.auth_query.clone(); + pool.auth_query.clone_from(&self.general.auth_query); } if pool.auth_query_user.is_none() { - pool.auth_query_user = self.general.auth_query_user.clone(); + pool.auth_query_user + .clone_from(&self.general.auth_query_user); } if pool.auth_query_password.is_none() { - pool.auth_query_password = self.general.auth_query_password.clone(); + pool.auth_query_password + .clone_from(&self.general.auth_query_password); } } } @@ -1167,7 +1170,7 @@ impl Config { "Default max server lifetime: {}ms", self.general.server_lifetime ); - info!("Sever round robin: {}", self.general.server_round_robin); + info!("Server round robin: {}", self.general.server_round_robin); match self.general.tls_certificate.clone() { Some(tls_certificate) => { info!("TLS certificate: {}", tls_certificate); diff --git a/src/sharding.rs b/src/sharding.rs index a7a9df13..990f967b 100644 --- a/src/sharding.rs +++ b/src/sharding.rs @@ -14,11 +14,11 @@ pub enum ShardingFunction { Sha1, } -impl ToString for ShardingFunction { - fn to_string(&self) -> String { - match *self { - ShardingFunction::PgBigintHash => "pg_bigint_hash".to_string(), - ShardingFunction::Sha1 => "sha1".to_string(), +impl std::fmt::Display for ShardingFunction { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + ShardingFunction::PgBigintHash => write!(f, "pg_bigint_hash"), + ShardingFunction::Sha1 => write!(f, "sha1"), } } }