| ... | ... | @@ -4164,6 +4164,12 @@ static TypeTableEntry *analyze_for_expr(CodeGen *g, ImportTableEntry *import, Bl |
| 4164 | 4164 | child_context->parent_loop_node = node; |
| 4165 | 4165 | |
| 4166 | 4166 | AstNode *elem_var_node = node->data.for_expr.elem_node; |
| 4167 | if (!elem_var_node) { |
| 4168 | add_node_error(g, node->data.for_expr.body, |
| 4169 | buf_sprintf("for loop expression missing element parameter")); |
| 4170 | return g->builtin_types.entry_invalid; |
| 4171 | } |
| 4172 | |
| 4167 | 4173 | elem_var_node->block_context = child_context; |
| 4168 | 4174 | Buf *elem_var_name = elem_var_node->data.symbol_expr.symbol; |
| 4169 | 4175 | node->data.for_expr.elem_var = add_local_var(g, elem_var_node, import, child_context, elem_var_name, |
| ... | ... | @@ -4180,8 +4186,7 @@ static TypeTableEntry *analyze_for_expr(CodeGen *g, ImportTableEntry *import, Bl |
| 4180 | 4186 | g->builtin_types.entry_usize, true, nullptr); |
| 4181 | 4187 | } |
| 4182 | 4188 | |
| 4183 | | AstNode *for_body_node = node->data.for_expr.body; |
| 4184 | | analyze_expression(g, import, child_context, g->builtin_types.entry_void, for_body_node); |
| 4189 | analyze_expression(g, import, child_context, g->builtin_types.entry_void, node->data.for_expr.body); |
| 4185 | 4190 | |
| 4186 | 4191 | |
| 4187 | 4192 | return g->builtin_types.entry_void; |