@@ -92,3 +92,60 @@ import PublicClang_Private
92
92
import FullyPrivateClang
93
93
import LocalClang
94
94
@_exported import MainLib
95
+
96
+ // RUN: %target-swift-frontend -typecheck -sdk %t/sdk %t/InternalImports.swift \
97
+ // RUN: -enable-experimental-feature AccessLevelOnImport \
98
+ // RUN: -module-name MainLib -module-cache-path %t \
99
+ // RUN: -F %t/sdk/System/Library/PrivateFrameworks/ \
100
+ // RUN: -library-level api -verify
101
+ //--- InternalImports.swift
102
+ internal import PublicSwift
103
+ internal import PrivateSwift
104
+
105
+ internal import PublicClang
106
+ internal import PublicClang_Private
107
+ internal import FullyPrivateClang
108
+ internal import LocalClang
109
+
110
+ // RUN: %target-swift-frontend -typecheck -sdk %t/sdk %t/FileprivateImports.swift \
111
+ // RUN: -enable-experimental-feature AccessLevelOnImport \
112
+ // RUN: -module-name MainLib -module-cache-path %t \
113
+ // RUN: -F %t/sdk/System/Library/PrivateFrameworks/ \
114
+ // RUN: -library-level api -verify
115
+ //--- FileprivateImports.swift
116
+ fileprivate import PublicSwift
117
+ fileprivate import PrivateSwift
118
+
119
+ fileprivate import PublicClang
120
+ fileprivate import PublicClang_Private
121
+ fileprivate import FullyPrivateClang
122
+ fileprivate import LocalClang
123
+
124
+ // RUN: %target-swift-frontend -typecheck -sdk %t/sdk %t/PrivateImports.swift \
125
+ // RUN: -enable-experimental-feature AccessLevelOnImport \
126
+ // RUN: -module-name MainLib -module-cache-path %t \
127
+ // RUN: -F %t/sdk/System/Library/PrivateFrameworks/ \
128
+ // RUN: -library-level api -verify
129
+ //--- PrivateImports.swift
130
+ private import PublicSwift
131
+ private import PrivateSwift
132
+
133
+ private import PublicClang
134
+ private import PublicClang_Private
135
+ private import FullyPrivateClang
136
+ private import LocalClang
137
+
138
+ // RUN: %target-swift-frontend -typecheck -sdk %t/sdk %t/ExplicitlyPublicImports.swift \
139
+ // RUN: -enable-experimental-feature AccessLevelOnImport \
140
+ // RUN: -module-name MainLib -module-cache-path %t \
141
+ // RUN: -F %t/sdk/System/Library/PrivateFrameworks/ \
142
+ // RUN: -library-level api -verify
143
+ //--- ExplicitlyPublicImports.swift
144
+ public import PublicSwift
145
+ public import PrivateSwift // expected-error{{private module 'PrivateSwift' is imported publicly from the public module 'MainLib'}}
146
+
147
+ public import PublicClang
148
+ public import PublicClang_Private // expected-error{{private module 'PublicClang_Private' is imported publicly from the public module 'MainLib'}}
149
+ public import FullyPrivateClang // expected-error{{private module 'FullyPrivateClang' is imported publicly from the public module 'MainLib'}}
150
+ public import LocalClang // expected-error{{private module 'LocalClang' is imported publicly from the public module 'MainLib'}}
151
+ @_exported public import MainLib // expected-warning{{private module 'MainLib' is imported publicly from the public module 'MainLib'}}
0 commit comments