From d905fa4888876eddc7716e88ffa158ed657bcf37 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sun, 3 Nov 2024 11:25:18 -0500 Subject: Minor fix --- compile.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'compile.c') diff --git a/compile.c b/compile.c index d947fe26..0ab4fa41 100644 --- a/compile.c +++ b/compile.c @@ -430,7 +430,7 @@ CORD compile_statement(env_t *env, ast_t *ast) auto tag_struct = Match(tag_type, StructType); if (clause->args && !clause->args->next && tag_struct->fields && tag_struct->fields->next) { - code = CORD_all(code, compile_type(tag_type), " ", compile(env, clause->args->ast), " = subject.$", clause_tag_name, ";\n"); + code = CORD_all(code, compile_declaration(tag_type, compile(env, clause->args->ast)), " = subject.$", clause_tag_name, ";\n"); scope = fresh_scope(scope); set_binding(scope, Match(clause->args->ast, Var)->name, new(binding_t, .type=tag_type)); } else if (clause->args) { @@ -442,7 +442,7 @@ CORD compile_statement(env_t *env, ast_t *ast) code_err(clause->tag_name, "The field %T.%s.%s wasn't accounted for", subject_t, clause_tag_name, field->name); if (!field) code_err(var->ast, "This is one more field than %T has", subject_t); - code = CORD_all(code, compile_type(field->type), " ", compile(env, var->ast), " = subject.$", clause_tag_name, ".$", field->name, ";\n"); + code = CORD_all(code, compile_declaration(field->type, compile(env, var->ast)), " = subject.$", clause_tag_name, ".$", field->name, ";\n"); set_binding(scope, Match(var->ast, Var)->name, new(binding_t, .type=field->type)); var = var->next; field = field->next; -- cgit v1.2.3