// #30 legal control — a top-level fn whose leaf matches an imported // MODULE name. The module bareword (SK_USE) and the value-namespace fn // coexist: cstage promotes the SK_USE in place with use_alias // (cmd/wcc/check.c:2928), wwstage keeps both as separate coexisting syms // (lib/ww/sym.ww scopedefineinmodule #30 cross-namespace skip). A bundled // `ascii` module + a primary-package `@test fn ascii` hit this in the wild // (989_lib_byteid via the lib/test->fnmatch->ascii -T floor). Must compile // clean + be cs/ww byte-identical. Mirrors a driver-emitted *.combined.ww. // // Both refs must resolve, so any mis-resolution fails to COMPILE: `aa()` // must bind the fn (a module is not callable), and `aa.helper()` must bind // through the module (the fn has no field `helper`). Accept proves both. package aa; export fn helper() i32 = { return 5; }; package main; import aa; fn aa() i32 = { return 1; }; export fn main() i32 = { return aa() + aa.helper(); };