docs(readme): scope ns-only bare-visibility claim to values/functions [stdlib B attempt-7]
Phase B tightened bare VALUE/FUNCTION visibility through a namespaced-only import (isNameVisible/isCImportVisible -> 'not visible'). Bare TYPE names from such an import still resolve today; type-name visibility tightens in a later resolver phase. Correct the README so it no longer claims all bare names from a namespaced import error.
This commit is contained in:
11
readme.md
11
readme.md
@@ -399,10 +399,13 @@ function in the caller's module (or in its single flat import that provides it).
|
||||
A bare call to a name that two or more flat imports both provide is ambiguous and
|
||||
is rejected; qualify it with a namespaced import (`m :: #import …; m.fn()`).
|
||||
|
||||
A **namespaced** import only binds its alias: the module's names are reachable
|
||||
solely as `m.name`. A bare reference to one of those names errors with `'name'
|
||||
is not visible; #import the module that declares it` — bare-name visibility joins
|
||||
over flat (`#import "…"`) imports only, never over a namespaced alias.
|
||||
A **namespaced** import only binds its alias: reach the module's members as
|
||||
`m.name`. A bare reference to a **value or function** from a namespaced-only
|
||||
import errors with `'name' is not visible; #import the module that declares it` —
|
||||
bare-name visibility for values and functions joins over flat (`#import "…"`)
|
||||
imports only, never over a namespaced alias. (Bare **type** names from a
|
||||
namespaced-only import still resolve today; tightening type-name visibility is a
|
||||
later resolver phase.)
|
||||
|
||||
### Implicit Context
|
||||
|
||||
|
||||
Reference in New Issue
Block a user