Hacker News new | ask | show | jobs
by masklinn 3806 days ago
As one would generally expect, the backing store of most hashsets is little more than a hashmap with zero-sized/no values.

In fact, that's exactly how Rust's standard library hashset is implemented since rust supports zero-sized types "in userland" (and unit `()` is a ZST):

    pub struct HashSet<T, S = RandomState> {
        map: HashMap<T, (), S>
    }
http://doc.rust-lang.org/src/std/collections/hash/set.rs.htm...