diff --git a/src/allocator.rs b/src/allocator.rs index 2007386..0bbf4ed 100644 --- a/src/allocator.rs +++ b/src/allocator.rs @@ -10,7 +10,7 @@ pub struct PortAllocator { impl PortAllocator { // Create a new port allocator that allocates from the provided available ports pub fn new(available_ports: impl Iterator) -> Self { - PortAllocator { + Self { available_ports: available_ports.collect(), } } diff --git a/src/caddy.rs b/src/caddy.rs index 74b7305..4f0508f 100644 --- a/src/caddy.rs +++ b/src/caddy.rs @@ -177,7 +177,7 @@ pub fn reload( deps.exec( std::process::Command::new("caddy") .args(["reload", "--adapter", "caddyfile", "--config"]) - .arg(caddyfile_path.clone()), + .arg(caddyfile_path), ) .map_err(CaddyError::Exec)?; diff --git a/src/config.rs b/src/config.rs index ef4750d..ffb3231 100644 --- a/src/config.rs +++ b/src/config.rs @@ -41,7 +41,7 @@ impl Config { // Return a new configuration from a TOML string fn from_toml(toml_str: &str) -> anyhow::Result { - let config: Config = toml::from_str(toml_str)?; + let config: Self = toml::from_str(toml_str)?; if config.ranges.is_empty() { bail!("Validation error: port ranges must not be empty\n") diff --git a/src/main.rs b/src/main.rs index eb1aac2..bab07fd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,4 @@ -#![warn(clippy::pedantic)] +#![warn(clippy::pedantic, clippy::nursery)] #![allow(clippy::module_name_repetitions)] mod allocator; @@ -205,13 +205,15 @@ fn run( extended, } => { let registry = load_registry(deps)?; - let (name, project) = match project_name { - Some(ref name) => registry - .get(name) - .map(|project| (name, project)) - .ok_or_else(|| ApplicationError::NonExistentProject(name.clone())), - None => get_active_project(deps, ®istry), - }?; + let (name, project) = project_name.as_ref().map_or_else( + || get_active_project(deps, ®istry), + |name| { + registry + .get(name) + .map(|project| (name, project)) + .ok_or_else(|| ApplicationError::NonExistentProject(name.clone())) + }, + )?; if extended { let directory = project .directory diff --git a/src/registry.rs b/src/registry.rs index 4877b79..cb2f96f 100644 --- a/src/registry.rs +++ b/src/registry.rs @@ -8,7 +8,7 @@ use std::collections::{BTreeMap, HashSet}; use std::path::PathBuf; #[derive(Clone, Deserialize, Serialize)] -#[cfg_attr(test, derive(Debug, PartialEq))] +#[cfg_attr(test, derive(Debug, Eq, PartialEq))] pub struct Project { pub port: u16, pub directory: Option, @@ -339,8 +339,7 @@ impl Registry { result.push(char.to_ascii_lowercase()); } result - }) - .to_string(); + }); normalized.truncate(63); if normalized.ends_with('-') { normalized.pop();