| // RUN: %empty-directory(%t) |
| // RUN: %target-build-swift %S/Inputs/extension_types.swift -module-name ExtensionTypes -emit-module -emit-module-path %t/ExtensionTypes.swiftmodule |
| // RUN: %target-swift-frontend -emit-ir -o- -parse-as-library -module-name test -validate-tbd-against-ir=all -I %t %s |
| |
| import ExtensionTypes |
| |
| public protocol Public {} |
| internal protocol Internal {} |
| private protocol Private {} |
| |
| extension ForeignStruct: Foreign {} |
| extension ForeignStruct: Public {} |
| extension ForeignStruct: Internal {} |
| extension ForeignStruct: Private {} |
| extension ForeignStruct2: Foreign, Public, Internal, Private {} |
| |
| public struct PublicStruct {} |
| public struct PublicStruct2 {} |
| internal struct InternalStruct {} |
| internal struct InternalStruct2 {} |
| private struct PrivateStruct {} |
| private struct PrivateStruct2 {} |
| |
| extension PublicStruct: Foreign {} |
| extension PublicStruct: Public {} |
| extension PublicStruct: Internal {} |
| extension PublicStruct: Private {} |
| extension PublicStruct2: Foreign, Public, Internal, Private {} |
| |
| extension InternalStruct: Foreign {} |
| extension InternalStruct: Public {} |
| extension InternalStruct: Internal {} |
| extension InternalStruct: Private {} |
| extension InternalStruct2: Foreign, Public, Internal, Private {} |
| |
| extension PrivateStruct: Foreign {} |
| extension PrivateStruct: Public {} |
| extension PrivateStruct: Internal {} |
| extension PrivateStruct: Private {} |
| extension PrivateStruct2: Foreign, Public, Internal, Private {} |