diff --git a/lib/log/log.ww b/lib/log/log.ww index 8c1f6e01..000526bc 100644 --- a/lib/log/log.ww +++ b/lib/log/log.ww @@ -37,10 +37,11 @@ // some lib/log fn first so init runs. // // • Param name divergence from Hare: the format-string parameter is -// `format` (not Hare's `fmt`) because ww's resolver shadows the -// `fmt` module reference inside a body when a same-name param is -// in scope (silent miscompile — CALL through str.ptr). Tracked as -// task #19; rename to `fmt` when fixed. +// `format` (Hare's is `fmt`). Permanent — #19 refuses any +// let/param that shadows an imported module name, regardless of +// body usage. ww chose `.` for both module-access and field- +// access, so `use fmt; fn x(fmt: T)` is structurally ambiguous; +// the resolver refuses it at decl. // // Sink today is [[io.stream]] only — lib/io has no fd-backed stream // yet (Hare's `io::handle = file | int` collapses to one variant).