Compatibility is asymmetric, and the sink needs rules both ways
A lane with no rules accepts only its own, which is why the sink (a lane worn by outputs as well as inputs) once refused every wire drawn into it.
The rule
Normative: this is the rule
- Compatibility maps an output lane to the set of input lanes it may enter.
- It is seeded by exact match and widened only by explicit rules, so a lane with no rules accepts nothing but itself.
- The data sink
mixedis worn by outputs as well as inputs and so needs rules in both directions; making it an alias of the control sink does not serve, because an alias copies the outgoing set only. toolis excluded from every sink rule in both directions.- A rule that widens states its reason where it is declared, since the served
from/topair cannot carry one. - The stakes are authoring-time: a wrong rule costs an author a wire they cannot draw, or lets them draw one nothing will reject.
Rule identifiers are permanent and are never renumbered. Each implementation publishes its own standing against these rules; this specification does not.spec 1.0-draft · SCH-39 · changed in spec 1.0