base red: compile, #31087's test Link class is fileprivate so @Observable can name it

Merged
LA
5d ago
+1-1

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 Autofix with [code]smith
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.