2.2 KiB
2.2 KiB
1.0.0-beta.8 Release Review
Date: 2026-05-22
Scope: concrete type alias foundation.
Verdict
The Slovo documentation and source-fixture side is coherent for a beta.8
concrete-alias slice. The contract is intentionally transparent: top-level
(type Alias TargetType) declarations name existing supported concrete target
types, normalize before backend/ABI decisions, and do not create runtime types,
hosted symbols, generic alias machinery, maps/sets, or cross-module alias
visibility.
Review Notes
- The language spec defines syntax, resolution, formatter shape, diagnostics, and explicit deferrals for concrete aliases.
- The public roadmap and stable-readiness notes place beta.8 between JSON data interchange and generics/collection unification.
std/json.slousesJsonTextandJsonFieldas local aliases only. The helper export list remains unchanged.- The explicit std-import and local JSON fixtures exercise local alias use without importing, exporting, or re-exporting aliases.
- Glagol parser, checker, formatter, project import resolution, lowering inspectors, diagnostics fixtures, and promotion inventory now carry the matching implementation side.
- Reviewer findings were integrated: JSON fixtures use canonical alias spacing, unsupported alias targets are rejected, alias/value name conflicts are diagnosed, and alias export/import attempts produce explicit visibility diagnostics.
Verification
cargo fmt --checkcargo test --test diagnostics_contract current_negative_cases_match_machine_diagnostic_snapshotscargo test --test concrete_type_aliases_betacargo test --test project_mode type_aliases_are_local_across_project_visibilitycargo test --test lowering_inspectorcargo test --test promotion_gate promotion_gate_artifacts_are_alignedcargo test --test standard_json_source_facade_alphacargo testgit diff --check
Remaining Deferred Work
- Generated documentation may still display source alias spelling. Runtime behavior, checked lowering, backend layout, and cross-module typing use the resolved concrete target.
- Any future generic alias, cross-module alias import/export, or re-export design.