From 4fe0004f6a3d7b1373cc3b8b77bfa747445e40a4 Mon Sep 17 00:00:00 2001 From: Curtis Spencer <41347+jubos@users.noreply.github.com> Date: Sun, 30 Aug 2020 16:55:48 -0700 Subject: [PATCH] Use HashSet for repo uniqueness rather than count --- src/main.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index f8dc1ff0..d434560e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,7 +2,7 @@ use failure::Fail; use glob::glob; use quicli::prelude::*; use serde::Deserialize; -use std::collections::HashMap; +use std::collections::{HashMap, HashSet}; use std::path::{Path, PathBuf}; use structopt::StructOpt; @@ -80,8 +80,8 @@ fn parse_toml_files(paths: &[PathBuf]) -> Result { } fn validate_ecosystems(ecosystem_map: &EcosystemMap) -> Result<()> { - let mut repo_count = 0; let mut tagmap: HashMap = HashMap::new(); + let mut repo_set = HashSet::new(); for ecosystem in ecosystem_map.values() { if let Some(ref sub_ecosystems) = ecosystem.sub_ecosystems { for sub in sub_ecosystems { @@ -94,8 +94,8 @@ fn validate_ecosystems(ecosystem_map: &EcosystemMap) -> Result<()> { } } if let Some(ref repos) = ecosystem.repo { - repo_count += repos.len(); for repo in repos { + repo_set.insert(repo.url.clone()); if let Some(tags) = &repo.tags { for tag in tags { let counter = tagmap.entry(tag.to_string()).or_insert(0); @@ -108,7 +108,7 @@ fn validate_ecosystems(ecosystem_map: &EcosystemMap) -> Result<()> { println!( "Validated {} ecosystems and {} repos", ecosystem_map.len(), - repo_count, + repo_set.len(), ); println!("\nTags"); for (tag, count) in tagmap {