-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[cxx-interop] Pull changes from swift-6
compat mode into swift-5.9
#72912
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
@swift-ci please test |
@swift-ci please test macOS |
Swift-5.10 is not a valid interop version. Do you want to use 5.9 instead? |
518cb0b
to
19d8ea6
Compare
🤦♂️ Right, thank you! |
@swift-ci please test |
swift-6
compat mode into swift-5.10
swift-6
compat mode into swift-5.9
9f1e8d1
to
eca9ccc
Compare
@swift-ci please test |
@swift-ci please test macOS |
Hmm, this only seems to fail on macOS, and only with a release compiler:
|
Ah! We're importing |
…ble generics are disabled C++ pointer type `T*` is generally imported as `Unsafe(Mutable)Pointer<T>`. However, if `T` is non-copyable in Swift (e.g. it has a deleted C++ copy constructor), using `UnsafePointer<T>` type requires noncopyable generics to be enabled. This was causing assertion failures when building SwiftCompilerSources in #72912.
b987e72
to
c37a685
Compare
@swift-ci please test |
… generics are disabled C++ pointer type `T*` is generally imported as `Unsafe(Mutable)Pointer<T>`. However, if `T` is non-copyable in Swift (e.g. it has a deleted C++ copy constructor), using `UnsafePointer<T>` type requires noncopyable generics to be enabled. This was causing assertion failures when building SwiftCompilerSources in #72912.
… generics are disabled C++ pointer type `T*` is generally imported as `Unsafe(Mutable)Pointer<T>`. However, if `T` is non-copyable in Swift (e.g. it has a deleted C++ copy constructor), using `UnsafePointer<T>` type requires noncopyable generics to be enabled. This was causing assertion failures when building SwiftCompilerSources in #72912.
… generics are disabled C++ pointer type `T*` is generally imported as `Unsafe(Mutable)Pointer<T>`. However, if `T` is non-copyable in Swift (e.g. it has a deleted C++ copy constructor), using `UnsafePointer<T>` type requires noncopyable generics to be enabled. This was causing assertion failures when building SwiftCompilerSources in #72912.
This gives projects using C++ interop compat mode 5.9 access to the new features such as virtual methods and move-only types. rdar://126485814
c37a685
to
b330376
Compare
@swift-ci please test |
… generics are disabled C++ pointer type `T*` is generally imported as `Unsafe(Mutable)Pointer<T>`. However, if `T` is non-copyable in Swift (e.g. it has a deleted C++ copy constructor), using `UnsafePointer<T>` type requires noncopyable generics to be enabled. This was causing assertion failures when building SwiftCompilerSources in #72912. (cherry picked from commit 78eee32)
This gives projects using C++ interop compat mode 5.9 access to the new features such as virtual methods and move-only types.
rdar://126485814