Files
carbon-lang/docs/design/generics
josh11bandJosh L 5406588107 Update member access design docs for proposals #3720 and #7697 (#7823)
- Incorporates member binding interfaces from proposal #3720
- Includes updates to #3720 and new `x.impl(m)` and `typeof(x)` syntaxes
from #7697
- The concept of member resolution was replaced with just its name
lookup component, to reflect the new rules from #7697
- Updated member binding interfaces use of `extend` according to
proposal #5337
- `BindToRef` interface updated to use `ref` following proposal #5434

Assisted-by: Gemini via Antigravity

---------

Co-authored-by: Josh L <josh11b@users.noreply.github.com>
2026-10-01 20:18:37 +00:00
..

Generics

This directory contains the collection of documents describing the generics feature of Carbon:

  • Overview - A high-level description of the generics design, with pointers to other design documents that dive deeper into individual topics
  • Goals - The motivation and principles guiding the design direction
  • Terminology - A glossary establishing common terminology for describing the design
  • Detailed design - In-depth description
    • Appendix: Coherence - Describes the rationale for Carbon's choice to have coherent generics, and the alternatives.
    • Appendix: Rewrite constraints - Describes the detailed rules governing rewrite constraints, and why resolving them terminates.
    • Appendix: Witness tables - Describes an implementation strategy for checked generics, and Carbon's rationale for only using it for dynamic dispatch.