Add iter() and values() functions to PrimaryMap and EntityMap.

`iter()` iterates over both keys and values, while `values()` iterates over
just values. Also add `_mut()` versions.

These replace the otherwise common idiom of iterating with `keys()` and using
indexing to get the values, allowing for simpler code.
This commit is contained in:
Dan Gohman
2018-03-30 11:33:44 -07:00
parent 9e4ab7dc86
commit 72b7a4b3ef
11 changed files with 274 additions and 43 deletions

View File

@@ -130,8 +130,8 @@ impl SubTest for TestBinEmit {
// Fix the stack frame layout so we can test spill/fill encodings.
let min_offset = func.stack_slots
.keys()
.map(|ss| func.stack_slots[ss].offset.unwrap())
.values()
.map(|slot| slot.offset.unwrap())
.min();
func.stack_slots.frame_size = min_offset.map(|off| (-off) as u32);