frozenset
frozenset()
for Rust
frozenset
?frozenset
is a library crate for Rust that provides the FrozenMap
and
FrozenSet
types, which are wrappers around HashMap
and HashSet
. These
types implement Hash
, and are therefore suitable for use as keys in other
HashMap
s and HashSet
s.
frozenset
?frozenset
is useful when you want to use a HashMap
or HashSet
as a key
in another HashMap
or HashSet
. This is not possible with the standard
library types, because they do not implement Hash
.
Frozen sets have already been shown to be useful in other languages - in
Python, frozenset()
is considered so useful that it is a built-in,
globally-accessible type.
frozenset
?Easy! Just add frozenset
to your Cargo.toml
:
toml
[dependencies]
frozenset = "0.1"
Ensure that frozenset::Freeze
is in scope, and call .freeze()
on your
HashMap
or HashSet
:
```rust
use std::collections::HashMap;
use frozenset::Freeze;
let map: HashMapfrozen_map
as a key in another HashMap
or HashSet
!
let mut mapofmaps = HashMap::new();
mapofmaps.insert(frozenmap, 7i32);
```
frozenset
only 0.2.2?frozenset
is currently in a pre-release state. It is not yet considered
stable, and I may add/change any functionality I do not yet consider
complete.