Skip to content

Commit fbe5563

Browse files
committed
[Foundation] Fix availability of NSValue.value(of:)
1 parent 38171a3 commit fbe5563

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

stdlib/public/Darwin/Foundation/NSValue.swift.gyb

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ ${ ObjectiveCBridgeableImplementationForNSValue("CGSize") }
2424
${ ObjectiveCBridgeableImplementationForNSValue("CGAffineTransform") }
2525

2626
extension NSValue {
27+
@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
2728
public func value<StoredType>(of type: StoredType.Type) -> StoredType? {
2829
if StoredType.self is AnyObject.Type {
2930
let encoding = String(cString: objCType)
@@ -41,13 +42,9 @@ extension NSValue {
4142
}
4243
let allocated = UnsafeMutablePointer<StoredType>.allocate(capacity: 1)
4344
defer { allocated.deallocate() }
44-
if #available(OSX 10.13, iOS 11.0, tvOS 11.0, watchOS 4.0, *) {
45-
getValue(allocated, size: storedSize)
46-
} else {
47-
getValue(allocated)
48-
}
45+
getValue(allocated, size: storedSize)
4946
return allocated.pointee
5047
}
5148
return nil
5249
}
53-
}
50+
}

test/stdlib/NSValueBridging.swift.gyb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ nsValueBridging.test("NSValue can only be cast back to its original type") {
9292
}
9393

9494
nsValueBridging.test("NSValue fetching method should be able to convert constructed values safely") {
95+
guard #available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *) else { return }
96+
9597
let range = NSRange(location: 17, length: 38)
9698
let value = NSValue(range: range)
9799
expectEqual(value.value(of: NSRange.self)?.location, range.location)

0 commit comments

Comments
 (0)