Why is SE-240 (Ordered Collection Diffing) constrained by OS versions on Apple platforms?

I'm confused that the API on the one hand is documented as being implemented in Swift Standard Library starting with 5.1 but on the other hand is annotated as @available(OSX 10.15, iOS 13, tvOS 13, watchOS 6, *)

Why is it so and whether it can be backported by simply dropping the OS requirements?

The Swift standard library ships in the OS on Apple's platforms. So whether a particular type or function is available is determined by the OS version, and not the version of the language you used to compile the program. So you can't just drop the OS requirement – an app needs to be running on the right OS for the feature to be available.

I'm deploying on platforms that are pre-swift-bundeled and thus ship stdlib with the app anyway.

Even when you bundle the standard library with your app, you still use the system copy when deployed to an OS that has it. You may find this blog post useful to understand more details.

Thank you.

So my only option is to attempt to port the algorithms and data structures with aim to support min OS-bundled Swift (5.0 AFAIK)?

Terms of Service

Privacy Policy

Cookie Policy