Currently, Combine's operator combineLatest
only supports up to 4 inputs (Publishers.CombineLatest4
). Why haven't Apple took advantage of Swift 5.9 parameter packs feature to allow 5 and more publishers to be combined?
I now have a need to combine 5 publishers, but due to this limitation I have to use something like this to overcome the limitation. And even with this approach, you can't possibly combine 16 publishers together
Are there some fundamental performance considerations which don't allow to do such thing? Surely, the memory use will grow with the number of publishers because CombineLatest
buffers the latest value of each publisher. But given that the developers use it wisely it would be very helpful to have
The same goes for all other operators which previously used static typization to overcome Swift v5.8 and earlier limitation (Publishers.Zip4
, Publishers.MapKeyPath3
, etc.)