Define a "type" to be a value of type `type`. Contexts expecting a type perform an implicit conversion to `type`. Values like `()` and `(i32, i32)` and `{}` are no longer types, but instead implicitly convert to `type`. Values of interface or constraint type (now called "facets") are similarly not formally types but implicitly convert to `type`.
Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
Co-authored-by: josh11b <josh11b@users.noreply.github.com>
Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
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).