file-local / package-local decls
This commit is contained in:
+4
-3
@@ -16,8 +16,9 @@ roadmap and milestone history.
|
||||
- file-local relative imports, import aliases, and qualified member access
|
||||
- transparent declaration aliases with `Name :: alias package.Member`; functions/type factories,
|
||||
named types, and globals retain their original declaration or storage identity
|
||||
- `hide` makes any named top-level declaration package-local; declarations are public by default,
|
||||
leading underscores are ordinary identifier characters, and imports are always file-local
|
||||
- bare `hide` and explicit `hide(package)` make a named top-level declaration package-local;
|
||||
`hide(file)` makes it file-local; declarations are public by default, leading underscores
|
||||
are ordinary identifier characters, and imports are always file-local
|
||||
- relative `.h` imports as synthetic C header package namespaces
|
||||
- native `name test { ... }` declarations with fallible-void results inferred from `testing.Error`
|
||||
and errors propagated by `try`, plus anonymous
|
||||
@@ -45,7 +46,7 @@ roadmap and milestone history.
|
||||
- void-payload tagged-union variants, anonymous struct payloads, contextual `.variant`, `.variant{payload}`, and `.variant{field = value}` construction
|
||||
- native sum composition with `A | B` for unbacked enums and tagged unions, optionally grouped as `(A | B)`, using program-global `u16` variant ids
|
||||
- fallible channel types `T ! E`, where `E` is a native enum, native struct, tagged union, or supported sum composition; `void ! E` functions complete successfully on fallthrough, and void-success `catch` handlers may fall through without `yield`
|
||||
- bodyful hidden functions and root `main` may write `T!` to infer a specialization-local error channel from propagated `try` expressions and concretely typed error returns; inference composes only existing named error types, never synthesizes variants, and requires at least one inferred error
|
||||
- bodyful local functions and root `main` may write `T!` to infer a specialization-local error channel from propagated `try` expressions and concretely typed error returns; inference composes only existing named error types, never synthesizes variants, and requires at least one inferred error
|
||||
|
||||
#### distinct types
|
||||
|
||||
|
||||
Reference in New Issue
Block a user