Fix resolution of unlabeled records
b82377ea3c61836b4f7b5b620ac9ab46baaa8a68df37c810d38bedfb67817e5c
1 parent
260e2e2f
lib/std/lang/resolver.rad
+4 -1
| 5562 | 5562 | setNodeConstValue(self, node, val); |
|
| 5563 | 5563 | } |
|
| 5564 | 5564 | setNodeSymbol(self, node, sym); |
|
| 5565 | 5565 | ty = type; |
|
| 5566 | 5566 | } |
|
| 5567 | - | case SymbolData::Type(t) => ty = Type::Nominal(t), |
|
| 5567 | + | case SymbolData::Type(t) => { |
|
| 5568 | + | setNodeSymbol(self, node, sym); |
|
| 5569 | + | ty = Type::Nominal(t); |
|
| 5570 | + | } |
|
| 5568 | 5571 | case SymbolData::Variant { index, .. } => { |
|
| 5569 | 5572 | let ty = typeFor(self, node) |
|
| 5570 | 5573 | else throw emitError(self, node, ErrorKind::Internal); |
|
| 5571 | 5574 | // For unions without payload, store the variant index as a constant. |
|
| 5572 | 5575 | if isVoidUnion(ty) { |