mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
When importing a C++ struct, if its owning module requires cplusplus, Swift tried to auto-conform it to certain protocols from the Cxx module. This triggers name lookup in the clang struct, specifically for `__beginUnsafe()` and `__endUnsafe` methods, which imports all of the base structs including their methods. This moves the import of base structs out of the name lookup request, preventing cycles. rdar://116426238
31 lines
412 B
Plaintext
31 lines
412 B
Plaintext
module Functions {
|
|
header "functions.h"
|
|
}
|
|
|
|
module Fields {
|
|
header "fields.h"
|
|
}
|
|
|
|
module Polymorphism {
|
|
header "polymorphism.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module ReferenceToDerived {
|
|
header "reference-to-derived.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module SubTypes {
|
|
header "sub-types.h"
|
|
}
|
|
|
|
module TypeAliases {
|
|
header "type-aliases.h"
|
|
}
|
|
|
|
module VirtualMethods {
|
|
header "virtual-methods.h"
|
|
requires cplusplus
|
|
}
|