mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Introduce TypeInstId (#5288)
TypeInstId is an InstId whose constant value has a type of TypeType. This includes: - Type value instructions, the `ClassType` or `IntLiteralType` instructions. - Constraint value instructions, which are the `FacetType` and `TypeType` instructions, each of which also have type TypeType. TypeInstId encodes in the type system that it is safe to convert the instruction's value to a TypeId, and CHECKs at construction that this invariant is maintained. --------- Co-authored-by: Richard Smith <richard@metafoo.co.uk>
This commit is contained in:
co-authored by
Richard Smith
parent
03a31bd0de
commit
cf57c85545
@@ -157,8 +157,8 @@ auto GetPointerType(Context& context, SemIR::InstId pointee_type_id)
|
||||
return GetTypeImpl<SemIR::PointerType>(context, pointee_type_id);
|
||||
}
|
||||
|
||||
auto GetUnboundElementType(Context& context, SemIR::InstId class_type_id,
|
||||
SemIR::InstId element_type_id) -> SemIR::TypeId {
|
||||
auto GetUnboundElementType(Context& context, SemIR::TypeInstId class_type_id,
|
||||
SemIR::TypeInstId element_type_id) -> SemIR::TypeId {
|
||||
return GetTypeImpl<SemIR::UnboundElementType>(context, class_type_id,
|
||||
element_type_id);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user