mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 06:11:05 +01:00
Remove the builtin empty tuple value (not type). (#2850)
We do use the empty tuple type for function returns, so I don't want to get rid of it, but the value is unused. With this change, builtins are all types. Long-term the empty tuple value should have a representation similar to structs; just a tuple value that's empty, not a built-in.
This commit is contained in:
@@ -271,14 +271,8 @@ auto SemanticsContext::ImplicitAsImpl(SemanticsNodeId value_id,
|
||||
}
|
||||
|
||||
if (as_type_id == SemanticsNodeId::BuiltinTypeType) {
|
||||
// When converting `()` to a type, the result is `() as Type`.
|
||||
// TODO: This might switch to be closer to the struct conversion below.
|
||||
if (value_id == SemanticsNodeId::BuiltinEmptyTuple) {
|
||||
if (output_value_id != nullptr) {
|
||||
*output_value_id = SemanticsNodeId::BuiltinEmptyTupleType;
|
||||
}
|
||||
return ImplicitAsKind::Compatible;
|
||||
}
|
||||
// TODO: When converting `()` to a type, the result is `() as Type`.
|
||||
// Right now there is no tuple value support.
|
||||
|
||||
// When converting `{}` to a type, the result is `{} as Type`.
|
||||
if (value.kind() == SemanticsNodeKind::StructValue &&
|
||||
|
||||
Reference in New Issue
Block a user