From 91ed88eafd79007566dca8f6c6afd72df648081b Mon Sep 17 00:00:00 2001 From: Adrian Palacios Date: Tue, 1 Oct 2024 19:28:17 +0000 Subject: [PATCH] Redo file-function pair collection --- tools/kani-cov/src/merge.rs | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/tools/kani-cov/src/merge.rs b/tools/kani-cov/src/merge.rs index 5faa902ca29a..bdd1872712c7 100644 --- a/tools/kani-cov/src/merge.rs +++ b/tools/kani-cov/src/merge.rs @@ -4,7 +4,7 @@ //! This module includes the implementation of the `merge` subcommand. use std::{ - collections::HashMap, + collections::{HashMap, HashSet}, fs::{File, OpenOptions}, io::{BufReader, BufWriter}, path::PathBuf, @@ -132,19 +132,13 @@ fn save_combined_results( /// All function names appearing in raw coverage results fn function_names_from_results(results: &[CoverageResults]) -> Vec<(String, String)> { - let mut file_function_pairs = vec![]; + let mut file_function_pairs = HashSet::new(); for result in results { - let files = result.data.keys().cloned(); - for file in files { - let checks = result.data.get(&file).unwrap(); + for (file, checks) in &result.data { for check in checks { - let function = check.function.clone(); - let file_function = (file.clone(), function); - if !file_function_pairs.contains(&file_function) { - file_function_pairs.push(file_function); - } + file_function_pairs.insert((file.clone(), check.function.clone())); } } } - file_function_pairs + file_function_pairs.into_iter().collect() }