Skip to content

Commit 9010fec

Browse files
committed
sort register by address_offset before checking for overlap
1 parent 45301d5 commit 9010fec

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/lib.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,11 @@ pub fn gen_peripheral(p: &Peripheral, d: &Defaults) -> Vec<Tokens> {
2525
let registers = p.registers
2626
.as_ref()
2727
.expect(&format!("{:#?} has no `registers` field", p));
28-
for register in registers {
28+
29+
let mut registers: Vec<&Register> = registers.iter().collect();
30+
registers.sort_by_key(|x| x.address_offset);
31+
32+
for register in registers.iter() {
2933
let pad = if let Some(pad) = register.address_offset
3034
.checked_sub(offset) {
3135
pad

0 commit comments

Comments
 (0)