         }
 
         let queue = DispatchQueue.global(qos: .background)
-        future.upon(queue) { [weak progress] _ in
-            progress?.totalUnitCount = 1
-            progress?.completedUnitCount = 1
+        future.upon(queue) { _ in
+            progress.totalUnitCount = 1
+            progress.completedUnitCount = 1
         }
 
         return progress

            }

            becomeCurrent(withPendingUnitCount: pendingUnitCount)
            _ = ProxyProgress(cloning: progress)

            if !changedPendingUnitCount {
                resignCurrent()
            }
        }
    }

    init(cloning original: Progress) {
        self.original = original
        super.init(parent: .current(), userInfo: nil)
    }

    deinit {
