diff --git a/src/domain/manager.rs b/src/domain/manager.rs index 716dfd5..834a742 100644 --- a/src/domain/manager.rs +++ b/src/domain/manager.rs @@ -163,18 +163,21 @@ impl ManagerImpl { domain_config_store: DomainConfigStore, domain_checker: checker::DNSChecker, acme_manager: Option, - ) -> sync::Arc { + ) -> sync::Arc { let manager = sync::Arc::new(ManagerImpl { origin_store: Box::from(origin_store), domain_config_store: Box::from(domain_config_store), - domain_checker: domain_checker, + domain_checker, acme_manager: acme_manager .map(|m| Box::new(m) as Box), }); task_stack.push_spawn(|canceller| { let manager = manager.clone(); - async move { Ok(manager.sync_origins(canceller).await) } + async move { + manager.sync_origins(canceller).await; + Ok(()) + } }); manager @@ -194,8 +197,7 @@ impl ManagerImpl { } .for_each(|descr| { if let Err(err) = self.origin_store.sync(&descr) { - log::error!("Failed to sync store for {:?}: {err}", descr); - return; + log::error!("Failed to sync store for {:?}: {err}", descr) } }); }, diff --git a/src/error/unexpected.rs b/src/error/unexpected.rs index ce31f35..dadd9b8 100644 --- a/src/error/unexpected.rs +++ b/src/error/unexpected.rs @@ -103,7 +103,7 @@ impl Mappable for Result { } } -static OPTION_NONE_ERROR: &'static str = "expected Some but got None"; +static OPTION_NONE_ERROR: &str = "expected Some but got None"; impl Mappable for Option { fn or_unexpected(self) -> Result { diff --git a/src/main.rs b/src/main.rs index a2ff403..e3d1c5c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -125,8 +125,8 @@ async fn main() { domain_manager.clone(), config.domain_checker_target_a, config.passphrase, - config.http_listen_addr.clone(), - config.http_domain.clone(), + config.http_listen_addr, + config.http_domain, config .https_listen_addr .map(|listen_addr| domani::service::http::HTTPSParams { diff --git a/src/origin/store/git.rs b/src/origin/store/git.rs index 1aeb9f4..89a2fe5 100644 --- a/src/origin/store/git.rs +++ b/src/origin/store/git.rs @@ -216,7 +216,7 @@ impl super::Store for FSStore { let res = self.sync_inner(descr); - self.sync_guard.lock().unwrap().remove(&descr); + self.sync_guard.lock().unwrap().remove(descr); let repo = match res { Ok(repo) => repo, @@ -232,7 +232,7 @@ impl super::Store for FSStore { // calling this while the sync lock is held isn't ideal, but it's convenient and // shouldn't be too terrible generally - let origin = self.get_origin(repo, &descr).map_err(|e| match e { + let origin = self.get_origin(repo, descr).map_err(|e| match e { GetOriginError::InvalidBranchName => store::SyncError::InvalidBranchName, GetOriginError::Unexpected(e) => store::SyncError::Unexpected(e), })?; @@ -251,7 +251,7 @@ impl super::Store for FSStore { } } - let repo_path = self.repo_path(&descr); + let repo_path = self.repo_path(descr); fs::read_dir(&repo_path).map_err(|e| match e.kind() { io::ErrorKind::NotFound => store::GetError::NotFound, @@ -270,7 +270,7 @@ impl super::Store for FSStore { GetOriginError::Unexpected(e) => store::GetError::Unexpected(e), })?; - let origin = sync::Arc::new(origin.clone()); + let origin = sync::Arc::new(origin); let mut origins = self.origins.write().unwrap(); diff --git a/src/service/http.rs b/src/service/http.rs index f7b5c08..cb286b9 100644 --- a/src/service/http.rs +++ b/src/service/http.rs @@ -68,7 +68,7 @@ pub fn new( }); } - return service; + service } #[derive(Serialize)] diff --git a/src/util.rs b/src/util.rs index d15624c..9b1b153 100644 --- a/src/util.rs +++ b/src/util.rs @@ -62,10 +62,17 @@ where self.wait_group.reverse(); for fut in self.wait_group { - if let Err(err) = fut.await { - return Err(err); - } + fut.await?; } Ok(()) } } + +impl Default for TaskStack +where + E: error::Error + Send + 'static, +{ + fn default() -> Self { + Self::new() + } +}