Rule 9.7
On this page

Rule 9.7

Chapter 9, Built-in functions and the TypeShade extensions Test

A name must be added to the table in this order and in no other: the rationale is written into this section (and into Rule 4.4’s family for an f64 type), the row is added to TYPESHADE_EXTENSIONS with the same reason, the surface document gains or extends a §, and CHANGELOG.md gains an entry under [Unreleased].

The rule text and the parts under it are the compiler's own English, as the design document writes them.

Rationale

the test message that catches a stray name tells the reader to do exactly this, and the order keeps the reason ahead of the name.

Derives from

the comment above TYPESHADE_EXTENSIONS in surface-names.test.ts.

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:

surface-names.test.ts (the extension table of docs/language-design.md is TYPESHADE_EXTENSIONS, row for row), which reads the table above and fails on a row, an order, or a reason that differs from the allowlist; review for the surface § and the CHANGELOG.

The files that verify it at commit 26de7be8, each at the first line that names the rule:

See also

Source

The rule at commit 26de7be8:

Edit this page Report a problem