Files
swift-mirror/test/Interop/Cxx/class/inheritance/Inputs/module.modulemap
Egor Zhdan efc008a2ca [cxx-interop] Import using decls that expose methods from private base classes
If a C++ type `Derived` inherits from `Base` privately, the public methods from `Base` should not be callable on an instance of `Derived`. However, C++ supports exposing such methods via a using declaration: `using MyPrivateBase::myPublicMethod;`.

MSVC started using this feature for `std::optional` which means Swift doesn't correctly import `var pointee: Pointee` for instantiations of `std::optional` on Windows. This prevents the automatic conformance to `CxxOptional` from being synthesized.

 rdar://114282353 / resolves https://github.com/apple/swift/issues/68068
2023-11-14 00:30:54 +00:00

40 lines
541 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 Subscripts {
header "subscripts.h"
}
module TypeAliases {
header "type-aliases.h"
}
module UsingBaseMembers {
header "using-base-members.h"
requires cplusplus
}
module VirtualMethods {
header "virtual-methods.h"
requires cplusplus
}