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

[HashTreeCollections] Add TreeDictionary.combining(_:by:) #246

Draft
wants to merge 2 commits into
base: release/1.1
Choose a base branch
from

Conversation

lorentey
Copy link
Member

This adds an elaborate new entry point for structurally combining two TreeDictionary instances, complete with a deeply customizable element-wise combining strategy.

This PR is a proof of concept that may turn into a shipping feature. It currently builds, but it has not yet seen any testing whatsoever. The new APIs currently require Swift 5.7 or better, as they use primary associated types.

Checklist

  • I've read the Contribution Guidelines
  • My contributions are licensed under the Swift license.
  • I've followed the coding style of the rest of the project.
  • I've added tests covering all new code paths my change adds to the project (if appropriate).
  • I've added benchmarks covering new functionality (if appropriate).
  • I've verified that my change does not break any existing tests or introduce unexplained benchmark regressions.
  • I've updated the documentation if necessary.

@lorentey lorentey added the HashTreeCollections Hash-array mapped prefix tree implementations label Nov 29, 2022
@lorentey lorentey added this to the 1.1.0 milestone Nov 29, 2022
Spin off two separate combining behaviors for values that are present
in both dictionaries, based on whether or not the values are equal.

Before this change, unequal values were always merged, which
isn’t necessarily what we want.
@lorentey
Copy link
Member Author

Rescheduling to 1.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HashTreeCollections Hash-array mapped prefix tree implementations
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant