Add Default impl for OSUsers

This commit is contained in:
Benjamin Sago
2016-01-16 11:27:18 -10:00
parent 052cf245f4
commit 28d4d68daf
+14 -3
View File
@@ -92,9 +92,12 @@ struct BiMap<K, V> {
backward: RefCell< HashMap<Arc<String>, Option<K>> >,
}
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<Arc<User>> {
let mut users_forward = self.users.forward.borrow_mut();