diff --git a/src/checker.rs b/src/checker.rs index cef4768..1fc6027 100644 --- a/src/checker.rs +++ b/src/checker.rs @@ -72,6 +72,10 @@ pub async fn check_all( } drop(queue); + drop(config); + drop(dns_resolver); + drop(token); + drop(tx); while let Some(res) = join_set.join_next().await { match res { diff --git a/src/http.rs b/src/http.rs index f0ba64f..6916a45 100644 --- a/src/http.rs +++ b/src/http.rs @@ -49,6 +49,7 @@ impl reqwest::dns::Resolve for HickoryDnsResolver { let resolver = Arc::clone(&self.0); Box::pin(async move { let lookup = resolver.lookup_ip(name.as_str()).await?; + drop(resolver); let addrs: reqwest::dns::Addrs = Box::new( lookup.into_iter().map(|ip_addr| SocketAddr::new(ip_addr, 0)), ); diff --git a/src/ipdb.rs b/src/ipdb.rs index 4ede496..d5e72d5 100644 --- a/src/ipdb.rs +++ b/src/ipdb.rs @@ -196,6 +196,7 @@ impl DbType { db_path.display() ); } + drop(db_path); if let Some(etag_value) = etag { self.save_etag(etag_value).await.wrap_err_with(move || { diff --git a/src/scraper.rs b/src/scraper.rs index 60ab212..7aceeab 100644 --- a/src/scraper.rs +++ b/src/scraper.rs @@ -156,11 +156,18 @@ pub async fn scrape_all( } } + drop(config); + drop(http_client); + drop(token); + drop(tx); + while let Some(res) = join_set.join_next().await { res.wrap_err("proxy scraping task panicked or was cancelled")? .wrap_err("proxy scraping task failed")?; } + drop(join_set); + Ok(Arc::into_inner(proxies) .ok_or_eyre("failed to unwrap Arc")? .into_inner()