Rule 4.7
Chapter 4, Types Test
f16 and the h spellings must not be authorable until the roadmap’s After 1.0 row is picked up; the f16 capability may be declared through the EDSL and nothing an author writes uses it.
The rule text and the parts under it are the compiler's own English, as the design document writes them.
Rationale
a new scalar touches every table in the compiler, and the surface has to freeze first.
Derives from
docs/roadmap.md After 1.0 (“f16 and the h vectors”); #153.
How it is verified
Checked by a test. A test, a gate script or a CI workflow names this rule, and the traceability check fails when a file listed below stops naming it.
Where the rule says the compiler enforces it:
src/core/backends/capability-reachability.test.ts, whose witness table records f16 as declared-but-unusable.
The files that verify it at commit 26de7be8, each at the first line that names the rule:
Explained in
The sections of the surface document that explain this rule, at commit 26de7be8:
See also
- Rule 4.6 Test
- Rule 4.8 Test
- Design rules
- Error codes
Source
The rule at commit 26de7be8:
docs/language-design.md:313(the design document)reqs/rules/RULE-0407.md(its traceability item)