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
|
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()`).
|
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
|
A **namespaced** import only binds its alias: reach the module's members as
|
||||||
solely as `m.name`. A bare reference to one of those names errors with `'name'
|
`m.name`. A bare reference to a **value or function** from a namespaced-only
|
||||||
is not visible; #import the module that declares it` — bare-name visibility joins
|
import errors with `'name' is not visible; #import the module that declares it` —
|
||||||
over flat (`#import "…"`) imports only, never over a namespaced alias.
|
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
|
### Implicit Context
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user