d87ee01cdfde8ace5c64750e3e95f3bf79345e89
Last per-caller migration before fold-eFinal (#50). Adds the 10 _v variants of OLD log.ww's surface (new_v / lprintln_v / println_v / lprintfln_v / printfln_v / lfatal_v / fatal_v / lfatalf_v / fatalf_v / setlogger_v) alongside a vlogger vtable + vstdlogger over io.vstream. Default sink is a module-static stderrsink_ctx_g with vt FIRST field for the intrusive vstream cast and fd=2 — only scalars/ptrs beyond vt per ken's mandate, no nested aggregates that would bite #18, no f32 per #165b. Zero-init at link time per #129 A.2/A.3 SSoT; ensureinit_v wires vt.reader / vt.writer / fd lazily on first dispatch (mirror of OLD ensureinit at log.ww:122 + lib/temp's rnginit pattern). OLD lib/log/log.ww UNCHANGED. fold-eFinal (#50) atomically retires the OLD logger / stdlogger / globals + the pre-vtable stderrsink and drops the `_v` suffix wholesale to match Hare's bare names. Two `export` bumps on lib/fmt/vstream.ww (vfprint, vfprintf) so log's stdprintln_v / stdprintfln_v dispatch through the existing vstream-side formatters; additive exposure, eFinal collapses fprint over the unified surface. Bootstrap-embed check: log is NOT in any selfhost/cmd/*/main.combined.ww (grep `package log\|import log` returns empty pre-impl). The fmt vstream.ww changes are also non-embedded. 990-997 byte-id gates stay green by virtue of log being test-only and the touched fmt symbols not being embedded. Probe wcc/779_log_vstream_run pins the additive surface across 4 rows (println_v_default_stderr / printfln_v_default_stderr / lprintln_v_custom_sink / branched_lprintln_v) cstage-only per #209 (wwstage formattable match-arm bail; bites OLD log.println identically). Byte-id graduates when #209 lands. Cite refs: ref/hare/log/{logger,funcs,global,silent}.ha; drew acks on module-static stderrsink_ctx + intrusive vt + 10-fn _v parity; ken mandates on bootstrap byte-id mechanical + simple-ctx + #129 static-init. Sibling tasks parked (filed, NOT fixed): eFinal #50; #206 (2 cast sites at ensureinit_v); #173 (stderrwrite_v constructs nomem + widens to io.error); #209 (cstage-only).
Description
No description provided
Languages
C
89.4%
Python
7.2%
Makefile
2.3%
Shell
0.8%
Assembly
0.3%