hashmapbool 0.1.1

The new and improved way to use boolean values in your rust code, requiring heap allocation and wasting resources on conversion.
Documentation
use hashmapbool::HashMapBool;

fn main() {
    let a: HashMapBool = true.into();
    let b: HashMapBool = false.into();

    assert_eq!(a, true);
    assert_eq!(b, false);
    assert!(a.is_true());
    assert!(b.is_false());

    // into() moves the value out of the HashMapBool
    // so we need to clone it to read the value without consuming it
    if a.clone().into() && b.into() {
        unreachable!();
    }

    let mut c = HashMapBool::new(false);
    assert!(c.is_false());
    c.set_true().unwrap();
    assert!(c.is_true());

    assert_eq!(a, c);
    assert_eq!(a.is_true(), c.get_value());

    let d = !c.clone();
    assert!(c.is_true());
    assert!(d.is_false());
}