boolenum 0.1.0

Derive From<bool> and Into<bool> for your boolean enums
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use boolenum::BoolEnum;

#[derive(BoolEnum, Copy, Clone, Debug, PartialEq)]
pub enum TrueFalse {
    True,
    False,
}

fn main() {
    let yes: bool = TrueFalse::True.into();
    let no: bool = TrueFalse::False.into();
    assert!(yes);
    assert!(!no);
    assert_eq!(TrueFalse::from(true), TrueFalse::True);
    assert_eq!(TrueFalse::from(false), TrueFalse::False);
    assert_eq!(!TrueFalse::True, TrueFalse::False);
    assert_eq!(!TrueFalse::False, TrueFalse::True);
}