Use imports public types
Platform spec ADR
Use imports public types
Spec standingStandard
- Resolver contract - Contracts and edge cases Normative resolver guarantees including SymbolRegistry invariants and cross-unit reference matching.
- Resolver contract - Design model Persistent resolver entities including SymbolRegistry, ItemId, and cross-unit identity.
- Resolver contract - Examples Concrete symbol identity and cross-unit reference scenarios.
- Resolver contract - FAQ and troubleshooting Answers common operator and contributor questions with practical next checks.
- Resolver contract - Flow and algorithm Walks through runtime/order-of-operations behavior in the implementation.
- Resolver contract - Verification and traceability Tests and code anchors proving SymbolRegistry and cross-unit reference behavior.
0 revisions (git unavailable at build; counts may be empty)
No commits recorded for this path.
Full tree: run pnpm verify:platform-spec-layout (writes src/generated/platform-spec-layout-report.json).
Context
Section titled “Context”use Core.Results registered module aliases for member completion (IO.PrintLine) but did not import public types or enum constructors into unqualified value/type scope—breaking patterns such as Result::Ok after use Core.Results.
Decision
Section titled “Decision”When resolving use Logical.Module.Path (with optional as Alias):
| Binding | Rule |
|---|---|
| Module alias | Existing module_imports behavior for qualified member access remains |
| Public types | Each public type exported from the target module must bind in type scope under its simple name (or alias) |
| Enum constructors | Each public enum constructor must bind in value scope as Type::Variant and, when the type name is in scope, as unqualified constructor names per language-meta visibility rules |
| Non-public items | Must not be introduced into scope via use |
Consequences
Section titled “Consequences”Resolver and items.rs grow use-import registration beyond alias tables. Analysis fixtures cover Core.Results / Result::Ok patterns.
Verification anchors
Section titled “Verification anchors”compiler/crates/beskid_analysis/src/resolve/resolver.rscompiler/crates/beskid_analysis/src/resolve/items.rscompiler/crates/beskid_tests/src/analysis/resolve.rscompiler/corelib/beskid_corelib/tests/corelib_tests/src/core/ResultsTests.bd