mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 22:02:23 +01:00
Change the syntax for `package` declarations from: ```carbon [package Foo] [library "bar"] api; [package Foo] [library "bar"] impl; ``` to ```carbon [package Foo] [library "bar"]; impl [package Foo] [library "bar"]; ```
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.