Files
carbon-lang/proposals
Dana JansensandRichard Smith 4a0c1ddd8e Identification of a named constraint during definition (#6902)
Allow partially identifying a named constraint inside its definition,
and allow the query self in an impl lookup with a non-identified facet
type to be used to provide witnesses from that facet type. This allows
impl lookup on `Self` to find `require` decls that have been written
earlier in the named constraint, so that the named constraint to be used
to provide witnesses from inside its definition.

But disallow an incomplete named constraint from being part of an
identified facet type, to prevent forming facet values that store a
witness set that can be invalidated as the named constraint adds
interfaces to its identified facet type.

This was discussed in open discussion [on
2026-03-12](https://docs.google.com/document/d/1mjllGO3ZCL4qGt9uJHUtcxKoHAGEY7Y999ie4EtBWB8/edit?tab=t.0#heading=h.1dvbbrp5a6t3).

---------

Co-authored-by: Richard Smith <richard@metafoo.co.uk>
2026-03-26 14:24:45 +00:00
..
2024-05-16 23:23:41 +00:00
2021-04-23 17:19:23 -07:00
2022-08-11 12:06:51 -07:00
2022-07-22 16:14:21 -07:00
2024-03-22 18:42:20 +00:00
2022-07-22 16:14:21 -07:00
2022-07-22 16:14:21 -07:00
2022-07-20 07:01:47 +03:00
2022-07-22 16:14:21 -07:00
2022-07-20 14:55:54 -04:00
2024-03-22 18:42:20 +00:00
2022-07-22 16:14:21 -07:00
2025-02-21 00:27:15 +00:00
2025-02-21 00:27:15 +00:00
2021-04-21 13:00:03 -07:00
2021-04-13 20:57:17 -07:00
2024-03-22 18:42:20 +00:00
2021-05-10 16:42:01 -07:00
2021-06-29 10:52:45 -07:00
2022-07-22 16:14:21 -07:00
2022-07-20 07:01:47 +03:00
2021-07-08 10:39:36 -07:00
2022-08-11 12:06:51 -07:00
2022-07-22 16:14:21 -07:00
2022-07-22 16:14:21 -07:00
2022-07-22 16:14:21 -07:00
2021-09-21 09:33:32 -07:00
2022-07-22 16:14:21 -07:00
2022-12-07 15:12:08 -08:00
2021-09-21 15:16:16 -07:00
2021-09-23 10:09:57 -07:00
2021-09-21 09:45:35 -07:00
2021-10-29 16:46:19 -07:00
2022-01-10 10:08:14 -08:00
2022-01-27 11:25:43 -08:00
2022-08-11 12:06:51 -07:00
2022-01-28 20:07:45 -08:00
2023-03-22 21:45:32 -07:00
2023-03-22 21:45:32 -07:00
2022-03-02 13:01:01 -08:00
2022-02-22 17:18:27 -08:00
2022-03-16 14:43:03 -07:00
2023-03-22 21:45:32 -07:00
2022-05-04 13:12:18 -07:00
2022-07-22 16:14:21 -07:00
2022-07-22 16:14:21 -07:00
2022-06-14 19:35:53 -07:00
2024-03-22 18:42:20 +00:00
2022-12-06 15:58:48 -08:00
2022-08-26 11:50:22 -07:00
2025-02-21 00:27:15 +00:00
2022-09-08 15:49:11 -07:00
2022-08-16 09:41:52 -07:00
2025-04-10 22:05:45 +00:00
2024-03-22 18:42:20 +00:00
2022-12-12 14:08:05 -08:00
2024-12-11 01:58:40 +00:00
2023-08-05 05:39:34 +00:00
2022-12-02 16:11:23 -08:00
2023-03-22 21:45:32 -07:00
2023-01-27 19:03:47 -08:00
2023-06-16 11:11:46 -07:00
2023-04-25 18:19:06 -07:00
2024-03-04 16:27:31 +00:00
2023-06-27 15:35:35 -07:00
2023-07-06 21:45:09 +00:00
2024-01-31 23:42:11 +00:00
2024-03-21 21:45:18 +00:00
2024-05-20 19:13:40 +00:00
2024-05-01 22:28:46 +00:00
2025-02-21 00:27:15 +00:00
2024-09-20 02:08:59 +00:00
2024-05-16 23:49:52 +00:00
2024-08-08 23:13:28 +00:00
2024-08-10 00:15:37 +00:00
2024-09-03 23:41:22 +00:00
2025-03-05 16:38:44 +00:00
2025-04-04 07:08:40 +00:00
2026-02-10 17:44:50 +00:00
2025-10-01 20:12:05 +00:00
2025-06-13 23:39:37 +00:00
2025-10-22 00:38:55 +00:00
2026-01-21 18:01:15 +00:00
2025-11-25 22:45:34 +00:00
2026-02-13 21:48:10 +00:00
2026-02-11 17:14:16 +00:00
2026-02-12 16:56:09 +00:00
2026-03-14 00:50:58 +00:00

Proposals

Proposal lists

Directory structure

This directory contains accepted proposals for the carbon-lang repository. For information about declined/deferred proposals, please view the proposal's original pull request.

For accepted proposals, where #### is the corresponding proposal's pull request:

  • p####.md will contain the main proposal text.
  • p#### may be present as an optional subdirectory for related files (for example, images).