From 28d4d68daf541734896f2bc260b14907838e77bd Mon Sep 17 00:00:00 2001 From: Benjamin Sago Date: Sat, 16 Jan 2016 11:27:18 -1000 Subject: [PATCH] Add Default impl for OSUsers --- src/os.rs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/os.rs b/src/os.rs index 5185ef0..dd92427 100644 --- a/src/os.rs +++ b/src/os.rs @@ -92,9 +92,12 @@ struct BiMap { backward: RefCell< HashMap, Option> >, } -impl OSUsers { - /// Create a new empty OS Users object. - pub fn empty_cache() -> OSUsers { +// Default has to be impl'd manually here, because there's no +// Default impl on User or Group, even though those types aren't +// needed to produce a default instance of any HashMaps... + +impl Default for OSUsers { + fn default() -> OSUsers { OSUsers { users: BiMap { forward: RefCell::new(HashMap::new()), @@ -114,6 +117,14 @@ impl OSUsers { } } +impl OSUsers { + + /// Create a new empty cache. + pub fn empty_cache() -> OSUsers { + OSUsers::default() + } +} + impl Users for OSUsers { fn get_user_by_uid(&self, uid: uid_t) -> Option> { let mut users_forward = self.users.forward.borrow_mut();