Skip to content

Merge release/1.1 to main#204

Merged
lorentey merged 424 commits intoapple:mainfrom
lorentey:main
Oct 12, 2022
Merged

Merge release/1.1 to main#204
lorentey merged 424 commits intoapple:mainfrom
lorentey:main

Conversation

@lorentey
Copy link
Copy Markdown
Member

This merges the current state of the release/1.1 branch to main, in preparation of tagging an actual release there. This includes the SortedSet/SortedDictionary work which isn't going to be ready for 1.1, so we'll remove it from that branch. (Work on it will continue on main, with the expectation that these will ship in 1.2.0 soon.)

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 and others added 30 commits August 16, 2022 15:44
Only asserts, not preconditions, as passing invalid indices here
cannot lead to out-of-bounds access — we have unconditional
bounds checks later.
This works slightly different as usual, as the input argument
specifies the maximum value we expect to store, not the maximum
count.
…se cases that require it.

This results in a significant speedup for both individual
insert/remove operations as well as bulk set operations -
up to 4x.

Use cases that require an O(1) count can use the separate
BitSet.Counted type.
lorentey and others added 27 commits October 9, 2022 13:45
[test] Check baseline API expectations for set-like types
…uirements

The two highlights are _customIndexOfEquatableElement and _customLastIndexOfEquatableElement, speeding up the implementation of `firstIndex(of:)` and `lastIndex(of:)`.
Add customary overloads for high-level Set operations.
Rename `PriorityQueueModule` to `HeapModule`
[BitSet] Fix invariant violation in member subscript
It is not tenable to continue supporting ancient toolchains
indefinitely, as each supported toolchain version adds a nontrivial
amount of prerelease testing work. Additionally, working around
bugs in older toolchains that have been long since resolved is not a
productive use of anyone’s time.

Users who are stuck on older toolchains are of course welcome to
continue using the last package release that supports their
platform. (And they may continue to receive bug fix updates, as
we can always tag new bugfix releases on older minor release
branches.)
Unfortunate edge case: the new `initialize(fromContentsOf:)` from
SE-0370 is calling withContiguousStorageIfAvailable, so it is subject
to SR-14663.

This means we can either choose to continue maintaining the
workaround, or we can call the stdlib’s implementation, but not both.
[1.1.0] Bump minimum required Swift toolchain to 5.5
This is mostly about adding more type declarations to deal with type checker limitations in the older compiler.
This also includes workarounds that allow better support for CodingKeyRepresentable in PersistentDictionary, and it fixes a couple of small oversights on various #else branches.
Restore support for building with Swift 5.5
Update CMake configuration in preparation for 1.1
Remove accidental reference to CMakeLists.txt as a source file.
@lorentey
Copy link
Copy Markdown
Member Author

@swift-ci test

@lorentey lorentey merged commit 12a948f into apple:main Oct 12, 2022
@lorentey lorentey added this to the 1.3.0 milestone Sep 27, 2025
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.

4 participants