1
- // rdar://118461385 (Swift CI: failing on the ASAN bot with `Abort trap: 6`)
2
- // REQUIRES: rdar118461385
3
-
4
1
// RUN: %empty-directory(%t)
5
2
// RUN: split-file %s %t
6
3
@@ -94,6 +91,29 @@ public enum PubEnum {
94
91
// CHECK: }
95
92
// CHECK: }
96
93
94
+ @_transparent
95
+ public func pubFunc( arg: PubEnum ) {
96
+ switch arg {
97
+ case . red:
98
+ print ( " r " )
99
+ case . green:
100
+ print ( " g " )
101
+ @unknown default :
102
+ print ( " def " )
103
+ }
104
+ }
105
+
106
+ // CHECK: @_transparent public func pubFunc(arg: Bar.PubEnum) {
107
+ // CHECK: switch arg {
108
+ // CHECK: case .red:
109
+ // CHECK: print("r")
110
+ // CHECK: case .green:
111
+ // CHECK: print("g")
112
+ // CHECK: @unknown default:
113
+ // CHECK: print("def")
114
+ // CHECK: }
115
+ // CHECK: }
116
+
97
117
package enum PkgEnum {
98
118
case blue, yellow
99
119
}
@@ -107,6 +127,48 @@ package enum PkgEnum {
107
127
// CHECK-PKG: }
108
128
// CHECK-PKG: }
109
129
130
+
131
+ @usableFromInline
132
+ package enum UfiPkgEnum {
133
+ case one, two
134
+ }
135
+
136
+ // CHECK: @usableFromInline
137
+ // CHECK: package enum UfiPkgEnum {
138
+ // CHECK: case one, two
139
+ // CHECK: @usableFromInline
140
+ // CHECK: package static func == (a: Bar.UfiPkgEnum, b: Bar.UfiPkgEnum) -> Swift.Bool
141
+ // CHECK: @usableFromInline
142
+ // CHECK: package func hash(into hasher: inout Swift.Hasher)
143
+ // CHECK: @usableFromInline
144
+ // CHECK: package var hashValue: Swift.Int {
145
+ // CHECK: @usableFromInline
146
+ // CHECK: get
147
+ // CHECK: }
148
+ // CHECK: }
149
+
150
+ @inlinable
151
+ package func pkgFunc( arg: UfiPkgEnum ) {
152
+ switch arg {
153
+ case . one:
154
+ print ( " 1 " )
155
+ case . two:
156
+ print ( " 2 " )
157
+ @unknown default :
158
+ print ( " def " )
159
+ }
160
+ }
161
+ // CHECK: @inlinable package func pkgFunc(arg: Bar.UfiPkgEnum) {
162
+ // CHECK: switch arg {
163
+ // CHECK: case .one:
164
+ // CHECK: print("1")
165
+ // CHECK: case .two:
166
+ // CHECK: print("2")
167
+ // CHECK: @unknown default:
168
+ // CHECK: print("def")
169
+ // CHECK: }
170
+ // CHECK: }
171
+
110
172
@frozen public struct FrozenPub {
111
173
public var one : String
112
174
var two : String // expected to be printed in public .swiftinterface since contained in @frozen
@@ -135,9 +197,7 @@ package struct PkgStruct {
135
197
136
198
// CHECK-PKG: package struct PkgStruct {
137
199
// CHECK-PKG: package var one: Swift.String
138
- // CHECK-PKG: internal var two: Swift.String
139
- // CHECK-PKG: private var three: Swift.String
140
- // CHECK-PKG: @_hasStorage package var four: Swift.String {
200
+ // CHECK-PKG: package var four: Swift.String {
141
201
// CHECK-PKG: get
142
202
// CHECK-PKG: }
143
203
// CHECK-PKG: }
@@ -160,6 +220,7 @@ public class PubKlass {
160
220
161
221
// CHECK: public class PubKlass {
162
222
// CHECK: public var pubVarInPub: Swift.String
223
+ // CHECK-PKG: package var pkgVarInPub: Swift.String
163
224
// CHECK: public var pubVarPrivSetInPub: Swift.Int {
164
225
// CHECK: get
165
226
// CHECK: }
@@ -189,8 +250,7 @@ package class PkgKlass {
189
250
190
251
// CHECK-PKG: package class PkgKlass {
191
252
// CHECK-PKG: package var pkgVarInPkg: Swift.String
192
- // CHECK-PKG: internal var intrnVarInPkg: Swift.String
193
- // CHECK-PKG: @_hasStorage package var pkgVarPrivSetInPkg: Swift.Int {
253
+ // CHECK-PKG: package var pkgVarPrivSetInPkg: Swift.Int {
194
254
// CHECK-PKG: get
195
255
// CHECK-PKG: }
196
256
// CHECK-PKG: package init()
@@ -234,6 +294,9 @@ extension PubProto {
234
294
// CHECK: public var p3: Swift.Int {
235
295
// CHECK: get
236
296
// CHECK: }
297
+ // CHECK-PKG: package var p4: Swift.Int {
298
+ // CHECK-PKG: get
299
+ // CHECK-PKG: }
237
300
// CHECK: public func f3()
238
301
// CHECK: }
239
302
@@ -274,13 +337,18 @@ extension PkgProto {
274
337
275
338
public func pub( x: Int , y: String ) { print ( " pub func " ) }
276
339
// CHECK: public func pub(x: Swift.Int, y: Swift.String)
340
+
277
341
@_spi ( LibBar) public func spi( x: Int , y: String ) { print ( " spi func " ) }
278
342
// CHECK-PRIV: @_spi(LibBar) public func spi(x: Swift.Int, y: Swift.String)
279
- @usableFromInline package func ufipkg( x: Int , y: String ) { print ( " ufi pkg func " ) }
343
+
344
+ @usableFromInline
345
+ package func ufipkg( x: Int , y: String ) { print ( " ufi pkg func " ) }
280
346
// CHECK: @usableFromInline
281
347
// CHECK: package func ufipkg(x: Swift.Int, y: Swift.String)
282
348
283
349
package func pkg( x: Int , y: String ) { print ( " pkg func " ) }
350
+ // CHECK-PKG: package func pkg(x: Swift.Int, y: Swift.String)
351
+
284
352
func int( x: Int , y: String ) { print ( " int func " ) }
285
353
private func priv( x: Int , y: String ) { print ( " priv func " ) }
286
354
0 commit comments