Closed meooow25 closed 9 months ago
@konsumlamm what do you think? Are these bugs?
Yes, I'm pretty sure, though I didn't have enough time to investigate them yet. The failures for insertAt
and deleteAt
are probably not separate bugs, since they use ><
.
Those issues should now be fixed. Could you rebase, so that the CI runs again?
Nice, thanks for fixing!
Great work, thank you very much!
These invariants are based on my understanding of RRB-trees. There seem to be a few variations of RRB-trees from what I could find online, so correct me if any of these do not apply to this implementation. Also, let me know if I missed some invariant that could be tested.
The added tests detect that:
<|
can create anUnbalanced
withm+1
children><
can create a rootUnbalanced
with 1 childinsertAt
can create a rootUnbalanced
with 1 childdeleteAt
can create a rootUnbalanced
with 1 childSide note: I found that shrinking sometimes seems to be taking forever but I haven't attempted to address it in this PR.
Fixes #16