Macro em_default

Source
macro_rules! em_default {
    ($ktp:ty, $vtp:ty, $($x:ident=>$y:expr),* ) => { ... };
}
Expand description

Initializes an EnumMap with default values for all variants not explicitly specified.

use enum_collections::{em_default, Enumerated, EnumMap};
#[derive(Enumerated)]
enum Letter {
   A,
   B,
}

// One non-default value
let enum_map = em_default!(Letter, i32, A => 42);
assert_eq!(42, enum_map[Letter::A]);
assert_eq!(i32::default(), enum_map[Letter::B]);

// All default

let enum_map = em_default!(Letter, i32,);
assert_eq!(i32::default(), enum_map[Letter::A]);
assert_eq!(i32::default(), enum_map[Letter::B]);