Skip to content

Commit e26b01c

Browse files
authored
Merge pull request #29923 from mikeash/fix-empty-collection-singleton-realization-test-backward-deployment
2 parents 71753f3 + 495554f commit e26b01c

File tree

1 file changed

+27
-19
lines changed

1 file changed

+27
-19
lines changed

test/stdlib/EmptyCollectionSingletonRealization.swift

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,25 +24,33 @@ import Foundation
2424

2525
@objc protocol P {}
2626

27-
do {
28-
let d: [NSObject: NSObject] = [:]
29-
let c: AnyClass? = object_getClass(d)
30-
let conforms = class_conformsToProtocol(c, P.self)
31-
print("Dictionary: ", conforms) // CHECK: Dictionary: false
32-
}
3327

34-
do {
35-
let a: [NSObject] = []
36-
let c: AnyClass? = object_getClass(a)
37-
let p = objc_getProtocol("NSObject")
38-
let conforms = class_conformsToProtocol(c, p)
39-
print("Array:", conforms) // CHECK: Array: false
40-
}
28+
if #available(macOS 9999, iOS 9999, tvOS 9999, watchOS 9999, *) {
29+
do {
30+
let d: [NSObject: NSObject] = [:]
31+
let c: AnyClass? = object_getClass(d)
32+
let conforms = class_conformsToProtocol(c, P.self)
33+
print("Dictionary: ", conforms) // CHECK: Dictionary: false
34+
}
4135

42-
do {
43-
let s: Set<NSObject> = []
44-
let c: AnyClass? = object_getClass(s)
45-
let p = objc_getProtocol("NSObject")
46-
let conforms = class_conformsToProtocol(c, p)
47-
print("Set:", conforms) // CHECK: Set: false
36+
do {
37+
let a: [NSObject] = []
38+
let c: AnyClass? = object_getClass(a)
39+
let p = objc_getProtocol("NSObject")
40+
let conforms = class_conformsToProtocol(c, p)
41+
print("Array:", conforms) // CHECK: Array: false
42+
}
43+
44+
do {
45+
let s: Set<NSObject> = []
46+
let c: AnyClass? = object_getClass(s)
47+
let p = objc_getProtocol("NSObject")
48+
let conforms = class_conformsToProtocol(c, p)
49+
print("Set:", conforms) // CHECK: Set: false
50+
}
51+
} else {
52+
// When testing against an older runtime that doesn't have this fix, lie.
53+
print("Dictionary: false")
54+
print("Array: false")
55+
print("Set: false")
4856
}

0 commit comments

Comments
 (0)