This feature release adds a number of new data structure implementations, along with minor changes to existing constructs.
New Data Structures
Heap implements a min-max heap, backed by a native array. (Contributed by @AquaGeek)
BitSet and BitArray are two alternate representations of a bitmap type, backed by dynamically allocated storage. (Contributed by @MahanazAtiqullah)
TreeSet and TreeDictionary are hashed collections implementing Compressed Hash-Array Mapped Prefix Trees (CHAMP). They provide similar API as Set/Dictionary in the Standard Library, but as persistent data structures, supporting incremental mutations of shared instances and efficient structural diffing. (Contributed by @msteindorfer)
Other Changes
This version of the package can only be built using Swift 5.7.2 or later.
New methods: the OrderedSet.isEqualSet family of functions provide a way to test that two containers contain the same members, ignoring the order of elements. (apple/swift-collections#183, apple/swift-collections#234)
New method: OrderedSet.filter implements a version of the standard filter operation that returns an OrderedSet instead of an Array. (apple/swift-collections#159)
debugDescription implementations have been updated to follow Swift best practice. (These are called by container types like Array to print their elements, so they work best when they're succinct variants of description that are suitable for embedding in structured output: specifically, they must not produce unpaired delimiter characters ([/], (/), {/}, </> etc), raw top level commas, semicolons, colons, unquoted strings etc. debugDescription should not needlessly print type names etc.)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all-dependencies group with 1 update: github.com/apple/swift-collections.
Updates
github.com/apple/swift-collections
from 1.0.6 to 1.1.0Release notes
Sourced from github.com/apple/swift-collections's releases.
... (truncated)
Commits
94cf62b
Merge pull request #352 from vanvoorden/vanvoorden/tree-dictionary-keys-equalityc61e5e2
tree dictionary keys hashable cleanup97b1949
Merge pull request #357 from lorentey/cherry-pick-356a047213
tree dictionary keys hashable cleanupffa9e65
wip tree dictionary keys hashableff73ed7
wip tree dictionary keys hashable7539583
Fix typosdef1b63
Merge pull request #355 from lorentey/release-1.1-prep3abf60a
wip tree dictionary keys hashable30ed8ac
Merge pull request #351 from vanvoorden/vanvoorden/equality-benchmarksDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show