Skip to content

[6.0] Update -swift-version to default to 6 for swift-tools-version 6 #7531

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

bnbarham
Copy link
Contributor

@bnbarham bnbarham commented May 7, 2024

Explanation: Changes packages to default to swift version 6 when swift-tools-version is set >= 6.0. Without this change, all packages will be swift version 5 unless otherwise specified via swiftLanguageVersions. Packages default to swift-tools-version: 6.0 with swift package init. Users can opt-out via specifying swiftLanguageVersions: [.v5].
Scope: New packages/those updated to 6.0.
Risk: Medium. There's inherent risk due to the language mode bump. The change also removes disabling implicit imports for concurrency and string processing in manifest files, which hasn't been widely tested outside of ...
Testing: New regression tests. Source compatibility suite run.
Original PR: #7469

@bnbarham bnbarham added the swift 6.0 Related to Swift 6.0 release branch label May 7, 2024
@bnbarham bnbarham requested review from airspeedswift and hborla May 7, 2024 05:13
@bnbarham
Copy link
Contributor Author

bnbarham commented May 7, 2024

@swift-ci please test

@bnbarham
Copy link
Contributor Author

bnbarham commented May 7, 2024

Source compatibility suite run.

Technically it's currently running (though I would be very surprised if it failed with anything related to this PR).

@bnbarham
Copy link
Contributor Author

bnbarham commented May 7, 2024

Need to cherry-pick a85643e (part of #7439), looks like we squash commits though so that's more annoying than it otherwise would be :(

@MaxDesiatov
Copy link
Contributor

Shan't we cherry-pick #7439 as a whole w/o breaking it up?

We missed updating this when adding 6.0. The change itself is extremely
simple, with the bulk being updates to our tests so they don't fail on
old compiler versions (where language version "6" is unknown).

Also removes disabling the concurrency and string processing imports
from manifest loading, as this was causing the `package` global to not
be main actor isolated by default and thus error in Swift 6. They seemed
to have been disabled to avoid erroring in SDKs that didn't have them,
but that is definitely not an issue any longer.

(cherry picked from commit de3f697)
@bnbarham bnbarham force-pushed the cherry-6-when-tools-version-6 branch from 65e5721 to 98f0017 Compare May 17, 2024 22:07
@bnbarham
Copy link
Contributor Author

@swift-ci please test

@shahmishal shahmishal enabled auto-merge (squash) May 18, 2024 06:22
@shahmishal shahmishal disabled auto-merge May 18, 2024 06:23
@shahmishal shahmishal merged commit bdcf60f into swiftlang:release/6.0 May 18, 2024
5 checks passed
@bnbarham bnbarham deleted the cherry-6-when-tools-version-6 branch May 20, 2024 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
swift 6.0 Related to Swift 6.0 release branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants