Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix edge case in block concatenation #92

Merged
merged 2 commits into from
Oct 23, 2024
Merged

fix edge case in block concatenation #92

merged 2 commits into from
Oct 23, 2024

Conversation

mmolari
Copy link
Collaborator

@mmolari mmolari commented Oct 23, 2024

There was an error happening when merging transitive edges. This was due to the following edge-case:

  • consider the concatenation of two blocks b1 and b2.
  • b1 has an insertion at the end of the block, at position L1
  • b2 has an insertion at the beginning of the block, at position 0
  • when concatenating them into a new block b1+b2 there will be two insertions at position L1, the boundary between the two original blocks. And there is an ambiguity on which one to apply first.

To fix this at the moment of merging the two sets of insertions, if two have the same position I join them in a single insertion, appending the second one to the first one.

@ivan-aksamentov ivan-aksamentov merged commit 5942c58 into rust Oct 23, 2024
15 checks passed
@ivan-aksamentov ivan-aksamentov deleted the fix-merge branch October 23, 2024 18:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants