base: Honor @nospecialize on the owner-carrying uv_write chain
The previous trim fix routed the owner-carrying write path through a
positional core, but the call into `uv_write_noncancel` still compiled
as a generic (trim-unresolvable) call: a default value on a
`@nospecialize` parameter drops the `@nospecialize` from the generated
full-arity method, so a caller whose `owner` is deliberately untyped
cannot devirtualize the call. Write the optional-argument forwarders
out by hand so the full-arity methods keep their bare `@nospecialize`,
and split the token branch at the call site so every path stays
concretely resolvable.
Verified locally against the JuliaC TrimmabilityProject: the trim
verify is clean and the trimmed executable builds and runs. Fixes the
JuliaC test failures on all platforms of
https://buildkite.com/julialang/julia-pr/builds/389.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015KLwCBAR64r3cTdfaC5krU