Use a single hashmap lookup to determine if a color has been resolved, and to what, instead of two lookups.

This commit is contained in:
Chris Vest 2019-03-12 09:54:48 +01:00
parent b2a0fa18ff
commit 0dfa337ba4

View File

@ -153,12 +153,13 @@ impl Backend {
let mut pairs = self.pairs.borrow_mut(); let mut pairs = self.pairs.borrow_mut();
// Find if we have this color in stock // Find if we have this color in stock
let (front, back) = find_closest_pair(pair); let result = find_closest_pair(pair);
if pairs.contains_key(&(front, back)) { let lookup = pairs.get(&result);
if lookup.is_some() {
// We got it! // We got it!
pairs[&(front, back)] *lookup.unwrap()
} else { } else {
self.insert_color(&mut *pairs, (front, back)) self.insert_color(&mut *pairs, result)
} }
} }