@@ -690,6 +690,10 @@ extension Task
690690
691691 public class func all( tasks: [ Task ] ) -> Task < BulkProgress , [ Value ] , Error >
692692 {
693+ guard !tasks. isEmpty else {
694+ return Task < BulkProgress , [ Value ] , Error > ( value: [ ] )
695+ }
696+
693697 return Task < BulkProgress , [ Value ] , Error > { machine, progress, fulfill, _reject, configure in
694698
695699 var completedCount = 0
@@ -737,6 +741,8 @@ extension Task
737741
738742 public class func any( tasks: [ Task ] ) -> Task
739743 {
744+ precondition ( !tasks. isEmpty, " `Task.any(tasks)` with empty `tasks` should not be called. It will never be fulfilled or rejected. " )
745+
740746 return Task < Progress , Value , Error > { machine, progress, fulfill, _reject, configure in
741747
742748 var completedCount = 0
@@ -783,6 +789,10 @@ extension Task
783789 /// This new task will NEVER be internally rejected.
784790 public class func some( tasks: [ Task ] ) -> Task < BulkProgress , [ Value ] , Error >
785791 {
792+ guard !tasks. isEmpty else {
793+ return Task < BulkProgress , [ Value ] , Error > ( value: [ ] )
794+ }
795+
786796 return Task < BulkProgress , [ Value ] , Error > { machine, progress, fulfill, _reject, configure in
787797
788798 var completedCount = 0
0 commit comments