29 lines
918 B
Markdown
29 lines
918 B
Markdown
# Beta 4 Language Usability
|
|
|
|
## Scope
|
|
|
|
This post-`1.0.0-beta.3` slice reduces friction in ordinary project use
|
|
without changing the typed core or claiming new syntax stability.
|
|
|
|
## Current Work
|
|
|
|
- Improve project/workspace build and run entry diagnostics.
|
|
- Keep the accepted entry contract unchanged: `(fn main () -> i32 ...)`.
|
|
- Use precise diagnostic codes for missing and invalid entry `main` functions.
|
|
- Make non-exhaustive `match` diagnostics clearer and deterministic.
|
|
|
|
## Acceptance Gates
|
|
|
|
- `cargo test --test project_mode entry_main`
|
|
- `cargo test --test diagnostics_contract`
|
|
- `cargo fmt --check`
|
|
- `git diff --check`
|
|
|
|
## Deferrals
|
|
|
|
- No implicit `main` return conversions.
|
|
- No argument-taking `main`.
|
|
- No async, package registry, or stable ABI/layout promises.
|
|
- Broader type aliases, match diagnostics, and destructuring remain candidate
|
|
follow-up items in the same language usability roadmap lane.
|