A polymorphic data store:
// It's a HashMap<K = i32> storing polymorphic values:letmut store = HashMap::new();// k1 is the key 1 tagged with the element type `&'static str`let k1 = store.insert(1,"A static str");ifletSome(v) = store.get_mut(&k1){*v = "another str";}assert_eq!(store.get_tagged(&k1),Some(&"another str"));// untagged keys work too (relying on type inference, here `String`):
store.insert(2,"A String".to_string());assert_eq!(store.get(&2),Some(&"A String".to_string()));assert!(store.contains_key(&k1));assert!(store.contains_key(&1));assert!(!store.contains_key(&3));Optional crate features:
fxhash: addFxHashMapusing the rustc-hash crate
Polystore is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT, and COPYRIGHT for details.