base red: compile, #31087's test Link class is fileprivate so @Observable can name it
Fixes #31087
Base red (compile, priority zero): the CmuxNext test target does not compile at the feat tip (tip watcher STATUS 3916, job 93d8d8e613bc7df8e78570b6 at 6dee40a46a0f):
CloudStartChatMachineTests.swift:224:2: error: 'Link' is inaccessible due to 'private' protection level (in macro expansion @Observable:1:38)
#31087 added @MainActor @Observable private final class Link nested in the test suite. The @Observable macro emits an extension at file scope that names the type, and a private nested type is not visible there. fileprivate makes it visible to that extension and still keeps it out of every other file.
One word in one test file; no product code.
Observed / Not run
- Observed: the compile error in the tip watcher's job;
prepush-gate.py: no new violations. - Not run yet: the fleet compile at this head (follows in a comment).
Changelog
none
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes #31087 by changing the Link test class from private to fileprivate so the CmuxNext test target compiles.
The @Observable macro emits a file-scope extension that names the type, and a private nested type isn't visible there. fileprivate keeps the type out of every other file while allowing the macro's extension to reference it. No product code is affected.