fix(cmux-next): PageScriptPipeline compiles again (no covariant Self in a default argument)

Closed
AZ
14d ago
+1-1

Summary

The base feat-cmux-next does not compile since #24617 (4abd40495883): the build fleet's app compile fails at Packages/macOS/CmuxNext/Sources/CmuxNextPages/PageScriptPipeline.swift:90 with covariant 'Self' type cannot be referenced from a default argument expression. The default render closure of PageScriptPipeline.init called Self.render; it now names the type, PageScriptPipeline.render. The class is final, so it is the same static function and behavior does not change.

This red shows up as "its own red: cmux-next app compile" on every PR that merges the base, for example #24598.

Testing

  • cmux-ci compile-check --ref 7455b41377f3f8400681683a7a88f1dd0a28b205 --app (base tip): failed, the error above (job 4036cb717f3df749867d6175).
  • cmux-ci compile-check --ref 9eec1304257976e13577ef1e4280c4d17492ea71 --app (this head): passed (job 00dd50bc7b86c6881942d3e9).
  • scripts/cmux-next/prepush-gate.py: no new violations.

Observed / Not run

Observed: the two fleet compile-checks above. Not run: tests (a compile fix; PageScriptPipelineTests exercises the default at line 49 and runs in CI).

No capture: compile fix, no UI change.

Changelog

none

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes the feat-cmux-next app compile by replacing a covariant Self reference in the default render argument of PageScriptPipeline.init. Since the class is final, naming the type explicitly (PageScriptPipeline.render) is identical in behavior but no longer rejected by the toolchain. No test or behavior changes.