mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
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
40 lines
541 B
Plaintext
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
|
|
}
|