From 67c1fa0123dcf832730b9409ab46eb4c0b92fb03 Mon Sep 17 00:00:00 2001 From: James Farrell Date: Tue, 19 Sep 2023 21:46:35 +0000 Subject: [PATCH] Ensure package IDs are unique when cleaning. get_many will panic if there are duplicate IDs. --- src/cargo/ops/cargo_clean.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cargo/ops/cargo_clean.rs b/src/cargo/ops/cargo_clean.rs index 6f58b8bdc83..13d4b82f97d 100644 --- a/src/cargo/ops/cargo_clean.rs +++ b/src/cargo/ops/cargo_clean.rs @@ -8,6 +8,7 @@ use crate::util::interning::InternedString; use crate::util::{human_readable_bytes, Config, Progress, ProgressStyle}; use anyhow::bail; use cargo_util::paths; +use indexmap::IndexSet; use std::fs; use std::path::{Path, PathBuf}; @@ -129,7 +130,7 @@ fn clean_specs( // Doc tests produce no output. // Get Packages for the specified specs. - let mut pkg_ids = Vec::new(); + let mut pkg_ids = IndexSet::new(); for spec_str in spec.iter() { // Translate the spec to a Package. let spec = PackageIdSpec::parse(spec_str)?;