Rule 11.18
Chapter 11, Targets and the oracle Test
A typed row must name the test that verifies the capability on each target where it is typed; the test must read both halves where the capability is a language spelling (Rule 12.7). A refused row must name the rule and the portable spelling. A planned row must name its proposal. A gap row must name its issue once one is filed. An n/a row must name its reason.
The rule text and the parts under it are the compiler's own English, as the design document writes them.
Rationale
a status is a claim, and a claim with no evidence is the kind of row Appendix B exists to list.
Derives from
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:
capability-coverage.test.ts, which fails on a typed row whose test file does not exist, on a refused row with no Rule N.M, and on a planned row whose proposal file does not exist or is withdrawn.
The files that verify it at commit 91c2fe31, each at the first line that names the rule:
-
src/core/spec-conformance/capability-coverage.test.ts:49(checked by the compiler's own test)
See also
Source
The rule at commit 91c2fe31:
docs/language-design.md:1389(the design document)reqs/rules/RULE-1118.md(its traceability item)