The projection stuff is very useful. The blog post is absolutely right that this brings Rust closer to how you think it should work. Very excited to clean up a bunch of return types.
Can someone enlighten me on why they needed to bump the minimum version of macOS and iOS? Is it a hard requirement, or more of a "we no longer test on these systems" thing? I'm just concerned that Rust won't age well if it only ever works with the latest OS versions.
Not so much "this could never work" as much "we can't test it so why claim support". And it is a can't test not won't test. Seems the software delivery mechanism doesn't officially support pinning old versions in a way that Rust is comfortable using.
Put another way if an end user can't build an old version from a new machine supporting that old version for people who haven't updated at the cost of workarounds isn't a good plan.
Keep in mind that to continue automatic testing on older Apple platforms you have to run it on older Macs, which might not be available on the market anymore. CI/CD jobs are usually ran on mac minis, and if there are no more new mac minis with macOS older than Catalina, then it would not be possible to test against it.
Apple themselves no longer support the new minimum supported macOS and iOS versions and haven't for years.
The fundamental issue is testing, how do you acquire test environments that old and what exactly is gained by the continuous effort required to keep them running when their Apple themselves refuses to do so?
5 comments
[ 2.9 ms ] story [ 23.5 ms ] threadBasically what you said.
Not so much "this could never work" as much "we can't test it so why claim support". And it is a can't test not won't test. Seems the software delivery mechanism doesn't officially support pinning old versions in a way that Rust is comfortable using.
Put another way if an end user can't build an old version from a new machine supporting that old version for people who haven't updated at the cost of workarounds isn't a good plan.
The fundamental issue is testing, how do you acquire test environments that old and what exactly is gained by the continuous effort required to keep them running when their Apple themselves refuses to do so?