diff --git a/src/input.rs b/src/input.rs index 608d7fcb2..ac302c5a6 100644 --- a/src/input.rs +++ b/src/input.rs @@ -111,11 +111,9 @@ where { let mut map = IndexMap::new(); for record in read_csv::(file_path)? { - let id = record.get_id(); - - ensure!(!map.contains_key(id), "Duplicate ID found: {id}"); - - map.insert(id.into(), record); + let id = record.get_id().into(); + let existing = map.insert(Rc::clone(&id), record).is_some(); + ensure!(!existing, "Duplicate ID found: {id}"); } ensure!(!map.is_empty(), "CSV file is empty");