mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[cxx-interop] Synthesize a deprecated zero initializer for C++ structs
When importing a C header in the C++ language mode, Clang/Swift treat C structs as C++ structs. Currently Swift synthesizes a default initializer that zero-initializes the backing memory of the struct for C structs, but not for C++ structs. This is causing issues in existing projects that use C libraries and rely on having the default initializer available in Swift. This change enables the synthesis of a default initializer for C++ structs. Since many C++ structs are not designed to be initialized this way, the initializer is marked as deprecated in Swift. rdar://109727620
This commit is contained in:
@@ -7,4 +7,6 @@
|
||||
|
||||
// CHECK: struct ConstructorWithNSArrayParam {
|
||||
// CHECK-NEXT: init(_ array: [Any]!)
|
||||
// CHECK-NEXT: @available(*, deprecated, message
|
||||
// CHECK-NEXT: init()
|
||||
// CHECK-NEXT: }
|
||||
|
||||
Reference in New Issue
Block a user