Skip to content

Commit 5b8009e

Browse files
committed
Fix partially-matching literal pairups not working right
1 parent 8e4615e commit 5b8009e

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

objdiff-core/src/diff/mod.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -596,8 +596,8 @@ fn matching_symbols(
596596
section_kind,
597597
};
598598
matches.push(symbol_match);
599-
left_used.insert(symbol_idx);
600599
if let Some(right) = symbol_match.right {
600+
left_used.insert(symbol_idx);
601601
right_used.insert(right);
602602
}
603603
}
@@ -618,13 +618,16 @@ fn matching_symbols(
618618
if right_used.contains(&symbol_idx) {
619619
continue;
620620
}
621-
matches.push(SymbolMatch {
621+
let symbol_match = SymbolMatch {
622622
left: None,
623623
right: Some(symbol_idx),
624624
prev: find_symbol(prev, right, symbol_idx, None, fuzzy_literals),
625625
section_kind,
626-
});
627-
right_used.insert(symbol_idx);
626+
};
627+
matches.push(symbol_match);
628+
if symbol_match.prev.is_some() {
629+
right_used.insert(symbol_idx);
630+
}
628631
}
629632
}
630633
}

0 commit comments

Comments
 (0)