Simplify entry API usage

This commit is contained in:
Jonas Schievink 2020-06-30 13:54:40 +02:00
parent 56fb8a401a
commit a80e8fea85

View File

@ -158,31 +158,22 @@ pub(crate) fn push_res(&mut self, name: Name, def: PerNs) -> bool {
let mut changed = false; let mut changed = false;
if let Some(types) = def.types { if let Some(types) = def.types {
match self.types.entry(name.clone()) { self.types.entry(name.clone()).or_insert_with(|| {
Entry::Occupied(_) => {}
Entry::Vacant(e) => {
e.insert(types);
changed = true; changed = true;
} types
} });
} }
if let Some(values) = def.values { if let Some(values) = def.values {
match self.values.entry(name.clone()) { self.values.entry(name.clone()).or_insert_with(|| {
Entry::Occupied(_) => {}
Entry::Vacant(e) => {
e.insert(values);
changed = true; changed = true;
} values
} });
} }
if let Some(macros) = def.macros { if let Some(macros) = def.macros {
match self.macros.entry(name.clone()) { self.macros.entry(name.clone()).or_insert_with(|| {
Entry::Occupied(_) => {}
Entry::Vacant(e) => {
e.insert(macros);
changed = true; changed = true;
} macros
} });
} }
if def.is_none() { if def.is_none() {