From 3cf22b99529c762ee0fb619aa2c13e34c962ad76 Mon Sep 17 00:00:00 2001 From: Marcel Hellwig Date: Tue, 7 Jun 2022 10:30:34 +0200 Subject: [PATCH] explain reason behind hashmap in unique_impl --- src/unique_impl.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/unique_impl.rs b/src/unique_impl.rs index 2240f36ed..4e81e78ec 100644 --- a/src/unique_impl.rs +++ b/src/unique_impl.rs @@ -1,6 +1,5 @@ - use std::collections::HashMap; -use std::collections::hash_map::{Entry}; +use std::collections::hash_map::Entry; use std::hash::Hash; use std::fmt; use std::iter::FusedIterator; @@ -12,7 +11,9 @@ use std::iter::FusedIterator; #[must_use = "iterator adaptors are lazy and do nothing unless consumed"] pub struct UniqueBy { iter: I, - // Use a hashmap for the entry API + // Use a Hashmap for the Entry API in order to prevent hashing twice. + // This can maybe be replaced with a HashSet once `get_or_insert_with` + // or a proper Entry API for Hashset is stable and meets this msrv used: HashMap, f: F, }