From 2ae2074de3eaf368ea8b994244b8e220f32304bb Mon Sep 17 00:00:00 2001 From: SpringsUp Date: Tue, 18 Oct 2016 13:53:20 +0200 Subject: [PATCH] [Overlay/Dispatch]: Change DispatchQueue.setSpecific to take an optional for its value --- stdlib/public/SDK/Dispatch/Queue.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/stdlib/public/SDK/Dispatch/Queue.swift b/stdlib/public/SDK/Dispatch/Queue.swift index a9e39d1e788f0..307f8f37887c0 100644 --- a/stdlib/public/SDK/Dispatch/Queue.swift +++ b/stdlib/public/SDK/Dispatch/Queue.swift @@ -340,10 +340,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, k, p, _destructDispatchSpecificValue) } }