Repository navigation
Normalize Swift toolchain and use raw identifiers for test names - #4
Merged
Merged
Conversation
The shared `upcomingFeatures` array turns on ImmutableWeakCaptures, MemberImportVisibility, ExistentialAny, and InternalImportsByDefault alongside the two approachable-concurrency flags, and the executable target adopts it. Tools-version stays at 6.3 with `swiftLanguageModes: [.v6]`, since this package is a build tool for the site rather than a published library and has no older-toolchain consumers to support. InternalImportsByDefault produced no fallout — the target exposes no public API — leaving one `any Encoder` fix-it from the ExistentialAny migrator as the only source change. CI pins one toolchain everywhere: Swift 6.3 on macos-26 with an unpinned `latest-stable` Xcode, and the Linux swift-format job runs in `swift:6.3`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EtA5RwfPWtcxu2NfAHfjAr
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Toolchain
Package.swiftnow hoists all six upcoming features into a singleupcomingFeaturesarray that thegenerate-gamestarget adopts:NonisolatedNonsendingByDefault,InferIsolatedConformances(already present)ImmutableWeakCaptures,MemberImportVisibility,ExistentialAny,InternalImportsByDefault(new)Tools-version stays
6.3andswiftLanguageModes: [.v6], which is right for a build tool that only this site consumes — there are no downstream packages on an older toolchain.InternalImportsByDefaultproduced zero fallout here: the executable target has no public API, so no import needed promoting topublic import. The whole source diff is a singleany Encoderfix-it applied byswift package migrate --to-feature ExistentialAny.CI
One toolchain everywhere — Swift 6.3 on
macos-26:xcode-version: "26.4"→"latest-stable"inci.yml(build + documentation jobs) andperiphery.yml, so the pin does not rot on the next Xcode release.swift-formatjob's container moves fromswift:latesttoswift:6.3, matching the macOS legs instead of floating.SwiftyLab/setup-swift@latestwas already in use throughout.Test names
No changes — this package has no test target, so there were no Swift Testing display names to convert to SE-0451 raw identifiers.
Verification (local, Swift 6.3.3 / Xcode 26.6)
swift package dump-package— OKswift buildfrom a clean.build— zero warnings, zero errorsswift format lint --strict -r .(against the shared gist config CI downloads) — cleanswiftlint --strict— 0 violations in 6 filesactionlinton both touched workflows — cleanyamllint— only the pre-existing long-line warning on thewgetcommand inci.ymlFor reviewers
.github/workflows/ci.ymlline 48: droppingswift:latestforswift:6.3means the formatting job no longer silently drifts to a newer toolchain than the build jobs. It will need a bump when Swift 6.4 lands.GameGenerator/package is touched; the rest of the Fourtiles site is untouched.🤖 Generated with Claude Code
https://claude.ai/code/session_01EtA5RwfPWtcxu2NfAHfjAr