Confused about behaviour of switchToLatest in Combine

Thanks Rob, I'll update and confirm.

Would this specifically be an SDK thing? Meaning, if I build and ship from macOS 10.5.4 and run the binary on macOS 10.15.3, would I expect the right or wrong behavior in this case?

You will generally get 10.15.3 bugs if you compile on 10.15.4 but run on 10.15.3.

That's really unfortunate. This means it's as good as marking this operator @available on 10.15.4 and up as it basically doesn't work below that version :( Thanks for your answer, regardless.

I'll confirm here after upgrading.

You could try using the switchToLatest implementation from OpenCombine or CombineX. Either will require a little tweaking to supply lock implementations.

I have to deny the claim that there's a regression in switchToLatest as compared to the preceding beta. As I say here as well as in my preceding message in this thread, there is a bug before iOS 13.4, but in 13.4 it is fixed. I originally tested in the 11.4 beta, and in my testing in 11.4 final, it is still fixed.

Update Okay, I see that this point has already been made. But I don't see this as a big issue because, after all, Combine is already iOS 13 only, so I would have no compunction in releasing an app that requires iOS 13.4 or later, in order to take advantage of it.

I disagree with you on this, my angle on this is "I'm already limiting to iOS 13, so I need to further limit my supported devices just to work with Combine properly?"