1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
use crate::*;
use im::hashset::ConsumingIter;
impl<T: Obj> Set<T> {
/// An iterator over all elements of self.
pub fn iter(self) -> ConsumingIter<T> {
self.into_iter()
}
}
impl<T: Obj> IntoIterator for Set<T> {
type Item = T;
type IntoIter = ConsumingIter<T>;
fn into_iter(self) -> Self::IntoIter {
self.0.call_ref_unchecked(|s| s.clone().into_iter())
}
}