Skip to content

Commit 95b6388

Browse files
committed
[Overlay/Queue]: Allow setting an optional value in setSpecific
1 parent 3639fbe commit 95b6388

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/swift/Queue.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -324,10 +324,10 @@ public extension DispatchQueue {
324324
return nil
325325
}
326326

327-
public func setSpecific<T>(key: DispatchSpecificKey<T>, value: T) {
328-
let v = _DispatchSpecificValue(value: value)
327+
public func setSpecific<T>(key: DispatchSpecificKey<T>, value: T?) {
329328
let k = Unmanaged.passUnretained(key).toOpaque()
330-
let p = Unmanaged.passRetained(v).toOpaque()
329+
let v = value.flatMap { _DispatchSpecificValue(value: $0) }
330+
let p = v.flatMap { Unmanaged.passRetained($0).toOpaque() }
331331
dispatch_queue_set_specific(self.__wrapped, k, p, _destructDispatchSpecificValue)
332332
}
333333
}

0 commit comments

Comments
 (0)