Skip to content

[6.0][stdlib] API additions for basic noncopyable primitives #73810

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

Merged

Conversation

lorentey
Copy link
Member

@lorentey lorentey commented May 22, 2024

  • Explanation: Implement API additions from SE-0437.
  • Scope: Additive changes to core types in the Standard Library. Replaces the implementation of swap(_:_:).
  • Risk: Low.
  • Testing: Newly implemented, basic test coverage. Manual testing for "condfail"-style failures with obsolete compiler builds.
  • Reviewer: @glessard, @Azoy
  • Original PR: [stdlib] API additions for basic noncopyable primitives #73807
  • Issue: rdar://128504726

@lorentey lorentey added the swift evolution proposal needed Flag → feature: A feature that warrants a Swift evolution proposal label May 22, 2024
@lorentey
Copy link
Member Author

@swift-ci test

@lorentey
Copy link
Member Author

@swift-ci test source compatibility

@lorentey
Copy link
Member Author

@swift-ci build toolchain

@lorentey

This comment was marked as outdated.

@lorentey
Copy link
Member Author

@swift-ci test

@lorentey
Copy link
Member Author

@swift-ci clean build toolchain

@lorentey
Copy link
Member Author

@swift-ci test source compatibility

@lorentey lorentey added swift evolution pending discussion Flag → feature: A feature that has a Swift evolution proposal currently in review swift evolution approved Flag → feature: A feature that was approved through the Swift evolution process and removed swift evolution proposal needed Flag → feature: A feature that warrants a Swift evolution proposal swift evolution pending discussion Flag → feature: A feature that has a Swift evolution proposal currently in review labels Jun 3, 2024
@lorentey
Copy link
Member Author

lorentey commented Jun 6, 2024

@swift-ci test source compatibility

@lorentey lorentey force-pushed the stdlib-noncopyable-additions-6.0 branch from aa8519f to d607dd2 Compare June 6, 2024 21:40
@lorentey
Copy link
Member Author

lorentey commented Jun 6, 2024

The last rebase also removes the preexisting Optional._take alias for the new Optional.take, matching #73807.

This isn't expected to trigger issues outside of this repo; there are no known external adopters of the underscored spelling. (And it never shipped in any previous Swift release.)

@lorentey
Copy link
Member Author

lorentey commented Jun 6, 2024

@swift-ci test

@lorentey
Copy link
Member Author

lorentey commented Jun 6, 2024

@swift-ci build toolchain

@lorentey
Copy link
Member Author

lorentey commented Jun 6, 2024

@swift-ci test source compatibility

@lorentey
Copy link
Member Author

lorentey commented Jun 8, 2024

Holding for condfail investigations, or rescheduling.

lorentey added 3 commits June 17, 2024 13:27
- Add `exchange(_:with:)`
- Add `Optional.take()`
- Add `Unsafe[Mutable]BufferPointer.extracting(_:)`
- Finish generalizing `withExtendedLifetime`
- Radically simplify the implementation of `swap(_:_:)`

(cherry picked from commit 9b32005)
I keep forgetting that `some RangeExpression<Element>` does not cover the `UnboundedRange` form.

(cherry picked from commit 9d947e4)
@lorentey lorentey force-pushed the stdlib-noncopyable-additions-6.0 branch from 1e6c8c1 to f479c95 Compare June 17, 2024 22:05
@lorentey
Copy link
Member Author

@swift-ci test

@lorentey
Copy link
Member Author

@swift-ci test source compatibility

@lorentey lorentey marked this pull request as ready for review June 20, 2024 20:33
@lorentey lorentey requested a review from a team as a code owner June 20, 2024 20:33
@lorentey lorentey merged commit 09d8d49 into swiftlang:release/6.0 Jun 21, 2024
7 checks passed
@lorentey lorentey deleted the stdlib-noncopyable-additions-6.0 branch June 21, 2024 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
swift evolution approved Flag → feature: A feature that was approved through the Swift evolution process
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants