@@ -690,6 +690,10 @@ extension Task
690
690
691
691
public class func all( tasks: [ Task ] ) -> Task < BulkProgress , [ Value ] , Error >
692
692
{
693
+ guard !tasks. isEmpty else {
694
+ return Task < BulkProgress , [ Value ] , Error > ( value: [ ] )
695
+ }
696
+
693
697
return Task < BulkProgress , [ Value ] , Error > { machine, progress, fulfill, _reject, configure in
694
698
695
699
var completedCount = 0
@@ -737,6 +741,8 @@ extension Task
737
741
738
742
public class func any( tasks: [ Task ] ) -> Task
739
743
{
744
+ precondition ( !tasks. isEmpty, " `Task.any(tasks)` with empty `tasks` should not be called. It will never be fulfilled or rejected. " )
745
+
740
746
return Task < Progress , Value , Error > { machine, progress, fulfill, _reject, configure in
741
747
742
748
var completedCount = 0
@@ -783,6 +789,10 @@ extension Task
783
789
/// This new task will NEVER be internally rejected.
784
790
public class func some( tasks: [ Task ] ) -> Task < BulkProgress , [ Value ] , Error >
785
791
{
792
+ guard !tasks. isEmpty else {
793
+ return Task < BulkProgress , [ Value ] , Error > ( value: [ ] )
794
+ }
795
+
786
796
return Task < BulkProgress , [ Value ] , Error > { machine, progress, fulfill, _reject, configure in
787
797
788
798
var completedCount = 0
0 commit comments