From 95b6388a47d59e2b8b33567ad3c147185e171147 Mon Sep 17 00:00:00 2001 From: SpringsUp Date: Mon, 19 Sep 2016 07:18:53 +0200 Subject: [PATCH] [Overlay/Queue]: Allow setting an optional value in setSpecific --- src/swift/Queue.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/swift/Queue.swift b/src/swift/Queue.swift index 155be8aff..87d47e967 100644 --- a/src/swift/Queue.swift +++ b/src/swift/Queue.swift @@ -324,10 +324,10 @@ public extension DispatchQueue { return nil } - public func setSpecific(key: DispatchSpecificKey, value: T) { - let v = _DispatchSpecificValue(value: value) + public func setSpecific(key: DispatchSpecificKey, value: T?) { let k = Unmanaged.passUnretained(key).toOpaque() - let p = Unmanaged.passRetained(v).toOpaque() + let v = value.flatMap { _DispatchSpecificValue(value: $0) } + let p = v.flatMap { Unmanaged.passRetained($0).toOpaque() } dispatch_queue_set_specific(self.__wrapped, k, p, _destructDispatchSpecificValue) } }