In general, aliases ship with the SDKâthat is, unless it's hardcoded into the compiler (hence the parenthetical I used about "depending on how implemented"). Even if it were hardcoded, it would only ship in the same version of the compiler as #if languageVersion if the two features were implemented together, which as @Jumhyn mentioned doesn't have to be the case.
If I understand you, though, you're explicitly proposing that both of these conditions should hold in any solutionâfine.
If you restrict the solution only to Swift 6 (by which I assume you mean the compiler version and not the language mode, but notably no announcement has been made that the next yearly release will coincide with a major version increment), then you are limiting the solution to a speculative future where it is a toss-up whether the problem will even exist. And the fullness of time in which you wouldn't need multiple compiler conditionals to use your solution may arrive many years later than the fullness of time in which no vendor ships mismatched language versions and standard libraries.
And those are equally unfunâfar from refuting my point, it's in fact experience with hasFeature that informs why I'm saying that a separate languageVersion check would be unfun.
We cannot "require" any vendor to ship SDKs in any particular way or other; we can however, change what #if swift means: those are quite different suggestions in my view.
No version identifiers are being "combined"; the whole point is that they were never separated to begin with, not in a thought-through user-manipulable way.
Again it's not up to us to declare how a vendor should ship Swift.
I am explicitly arguing, though, that it's desirable to preclude code from checking for the ability to use language features from versions ahead of the available standard library. The distinction between "language features that depend (at compile time) on the standard library" and "language features that don't depend (at compile time) on the standard library" is not meant to be user-facing (somewhat analogous to how we say that clients of libraries shouldn't have to care if a property is stored or computed). Synthesized Equatable conformance, for example, is currently hardcoded but may one day be moved into the standard library, and in the ideal case this would be completely seamless for users; if it doesn't otherwise change observable behavior, my understanding is that it wouldn't even be considered a language-level change that requires Evolution review.
This is a fuzzy sentence as to who "we" are and what it means to "allow." The language workgroup hasn't considered in the past how language features behave in the context of a compiler that's older than its accompanying standard library. If that is to be the case going forward, I'd expect the vehicle for that sort of policy change wouldn't be in the form of a proposal.