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]);