Skip to content

Commit 5ddd7f6

Browse files
committed
Re-enable package interface test.
Previously package decls at the defition sites were non-resilient. Now they are resilient by default and are printed in interface as so. Ref: rdar://118461385
1 parent ea7d077 commit 5ddd7f6

File tree

1 file changed

+77
-9
lines changed

1 file changed

+77
-9
lines changed

test/ModuleInterface/package_interface.swift

Lines changed: 77 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
// rdar://118461385 (Swift CI: failing on the ASAN bot with `Abort trap: 6`)
2-
// REQUIRES: rdar118461385
3-
41
// RUN: %empty-directory(%t)
52
// RUN: split-file %s %t
63

@@ -94,6 +91,29 @@ public enum PubEnum {
9491
// CHECK: }
9592
// CHECK: }
9693

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+
97117
package enum PkgEnum {
98118
case blue, yellow
99119
}
@@ -107,6 +127,48 @@ package enum PkgEnum {
107127
// CHECK-PKG: }
108128
// CHECK-PKG: }
109129

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+
110172
@frozen public struct FrozenPub {
111173
public var one: String
112174
var two: String // expected to be printed in public .swiftinterface since contained in @frozen
@@ -135,9 +197,7 @@ package struct PkgStruct {
135197

136198
// CHECK-PKG: package struct PkgStruct {
137199
// 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 {
141201
// CHECK-PKG: get
142202
// CHECK-PKG: }
143203
// CHECK-PKG: }
@@ -160,6 +220,7 @@ public class PubKlass {
160220

161221
// CHECK: public class PubKlass {
162222
// CHECK: public var pubVarInPub: Swift.String
223+
// CHECK-PKG: package var pkgVarInPub: Swift.String
163224
// CHECK: public var pubVarPrivSetInPub: Swift.Int {
164225
// CHECK: get
165226
// CHECK: }
@@ -189,8 +250,7 @@ package class PkgKlass {
189250

190251
// CHECK-PKG: package class PkgKlass {
191252
// 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 {
194254
// CHECK-PKG: get
195255
// CHECK-PKG: }
196256
// CHECK-PKG: package init()
@@ -234,6 +294,9 @@ extension PubProto {
234294
// CHECK: public var p3: Swift.Int {
235295
// CHECK: get
236296
// CHECK: }
297+
// CHECK-PKG: package var p4: Swift.Int {
298+
// CHECK-PKG: get
299+
// CHECK-PKG: }
237300
// CHECK: public func f3()
238301
// CHECK: }
239302

@@ -274,13 +337,18 @@ extension PkgProto {
274337

275338
public func pub(x: Int, y: String) { print("pub func") }
276339
// CHECK: public func pub(x: Swift.Int, y: Swift.String)
340+
277341
@_spi(LibBar) public func spi(x: Int, y: String) { print("spi func") }
278342
// 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") }
280346
// CHECK: @usableFromInline
281347
// CHECK: package func ufipkg(x: Swift.Int, y: Swift.String)
282348

283349
package func pkg(x: Int, y: String) { print("pkg func") }
350+
// CHECK-PKG: package func pkg(x: Swift.Int, y: Swift.String)
351+
284352
func int(x: Int, y: String) { print("int func") }
285353
private func priv(x: Int, y: String) { print("priv func") }
286354

0 commit comments

Comments
 (0)