pub trait OptionExt { fn get_or_insert_default_ext(&mut self) -> &mut T; } impl OptionExt for Option { fn get_or_insert_default_ext(&mut self) -> &mut T { self.get_or_insert_with(|| Default::default()) } }