-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[stdlib] Start adopting noncopyable generics in the stdlib (phase 1) #72125
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
Conversation
The |
@swift-ci please build toolchain macOS |
Test failures are down to 656 now (from 793 in #71688) -- still way too much for comfort. |
Symbol diffs as of 84983c6:
|
Ah actually most of them are the
|
9866c15
to
90df4f7
Compare
Ok, we're down to this symbol diff:
|
@swift-ci please build toolchain macOS |
Remaining symbol mismatches:
I think the solutions to these are beyond the stdlib. But this should get us to a somewhat workable state -- perhaps bootstrapping would work now. 🤔 |
@swift-ci please build toolchain macOS |
Test failures are slightly down, but not by much. Lots of reflection, interpreter, C++ interop issues. (Also the gtest unit tests are failing with linker errors about the missing ExpressibleByNilLiteral method descriptor.)
|
b8bac2a
to
dac90fd
Compare
With @DougGregor's fix from #72157, we've symbol parity with the mainline stdlib, and we're down to 55 test failures! (Actually 54 if we ignore my local python_lint failure.)
The
|
@swift-ci build toolchain macOS |
@swift-ci test |
The symbol mismatches in Synchronizaton are actually trivial -- the new |
The reflection tests are fixed by #72163 |
The C++ interop tests are fixed by #72165 |
@swift-ci test |
@swift-ci build toolchain macOS |
12 failures remaining!
|
7cfe707
to
7c45076
Compare
@swift-ci build toolchain macOS |
1 similar comment
@swift-ci build toolchain macOS |
7c45076
to
a00565e
Compare
[stdlib] MemoryLayout: Update Swift version numbers [stdlib] MemoryLayout: Actually hide legacy ABI
… types [stdlib] Pull back @_aeic on pointer → integer conversions [stdlib] UnsafeMutablePointer.allocate: Fix thinko [stdlib] Disable support for noncopyable pointees on some pointer operations We have to temporarily pull back support for noncopyable pointees for UnsafeMutablePointer.initialize(to:), .moveInitialize, .moveUpdate, as the builtins they’re calling are no longer accepting such types. These will return following a builtin audit. [stdlib] Remove workarounds for certain builtins not supporting noncopyable use swiftlang#71733 fixed this! [stdlib] Update FIXME [stdlib] UnsafePointer: Update Swift version numbers [stdlib] UnsafePointer: Actually hide legacy ABI [stdlib] Remove workaround for U[M]BP.withMemoryRebound
- Enable BorrowingSwitch feature within the stdlib - ExpressibleByNilLiteral: Add retroactive support for noncopyable conforming types - Optional: draft an API surface for noncopyable payloads [stdlib] Oops, the ExpressibleByNilLiteral conformance kept its implicit copyability
…oolchain builds from succeeding
a00565e
to
fb84071
Compare
@swift-ci build toolchain macOS |
@swift-ci please test |
1 similar comment
@swift-ci please test |
@swift-ci build toolchain macOS |
@swift-ci build toolchain macOS |
@swift-ci please test macOS platform |
Closing. Work is ongoing over in #71688. |
This is a subset of #71688 that concentrates on the basics:
MemoryLayout
UnsafePointer
UnsafeMutablePointer
Optional
ExpressibleByNilLiteral