aboutsummaryrefslogtreecommitdiff
path: root/rust/src/implementation/pwm_macros.rs
blob: 158e4cdc2b9cb5e00d73a5252ad1866167bf4b7c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
extern crate passwordmaker_macros;
pub use self::passwordmaker_macros::*;

pub trait EnumVariantCount {
    fn variant_count() -> usize;
}

#[cfg(test)]
mod pwm_macro_tests {
    use super::*;

    #[allow(dead_code)]
    enum Nest{ A, B }
    #[allow(dead_code)]
    #[derive(EnumVariantCount)]
    enum TestNum {
        A(usize),
        B,
        C(Nest),
        D,
        E{a : usize, b: f64}
    }
    #[test]
    fn enum_variant_count_test(){
        assert_eq!(TestNum::variant_count(), 5);
    }
}