c218d875 · core f63c1e69 · built 2026-10-26 22:39 UTCA blanket row-conditional aspect impl's body cannot require an aspect of every field
Gap
Resolved. The spec sketched three ways to implement an aspect for a record: one
concrete row (GAP-DECLARATIONS-001, separately tracked), every row of a given shape,
and every row. The second and third needed row variables (now specified, RFC-0121,
3-integrated — spec.types.generics.open-rows.*) and, for a body to actually use a
field generically, a way to require an aspect of every field in the row (now specified,
RFC-0123, 3-integrated — spec.types.generics.field-wise-row-constraints.legality-1,
where all R: Aspect). A fully correct implementation of the current Language Spec
would now deliver both forms; what remains is a pure implementation shortfall
(LIMIT-TYPES-002), not a spec gap.
Impact
None remaining at the spec level — closed by the two RFCs above.
Affects
spec.types.generics.row-conditional-impls.legality-1spec.types.generics.field-wise-row-constraints.legality-1RFC-0121RFC-0123
Resolution
Resolved 2026-10-01: RFC-0121 (row variables, row-conditional impl resolution) and
RFC-0123 (all R: Aspect) both reached the integrated spec; their implementations are
now complete, with the remaining RFC-0123 limitation tracked separately in
LIMIT-TYPES-002.