diff --git a/ThirdParty/Deferred/Deferred/Deferred.swift b/ThirdParty/Deferred/Deferred/Deferred.swift index 776d247ac3995..5cbc8f4c379cd 100755 --- a/ThirdParty/Deferred/Deferred/Deferred.swift +++ b/ThirdParty/Deferred/Deferred/Deferred.swift @@ -133,10 +133,10 @@ public func all(_ deferreds: [Deferred]) -> Deferred<[T]> { results.reserveCapacity(deferreds.count) var block: ((T) -> ())! - block = { t in + block = { [weak combined] t in results.append(t) if results.count == deferreds.count { - combined.fill(results) + combined?.fill(results) } else { deferreds[results.count].upon(block) }