You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The alternate (and presumably simpler) wording says
"In other words, remove all elements e for which f(&e) returns false."
but the example usage in the doc comment would've compiled just fine even if we accidentally misread/misinterpreted that as "... returns true" (since the count of removed and retained items are equal):
letmut set = HashSet::from([1,2,3,4,5,6]);
set.retain(|&k| k % 2 == 0);assert_eq!(set.len(),3);
To demonstrate that exactly only the false elements are filtered out we could potentially change the example so that it fits better with the alternate definition:
letmut set = HashSet::from([1,2,3,4,5,6,7]);
set.retain(|&k| k % 2 == 0);assert_eq!(set.len(),3);