aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-09-06 14:38:58 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-09-06 14:38:58 -0400
commit73246764f88f6f652316ee0c138a990d836698a7 (patch)
treeb2d340ef387b14727011465877f8e99a433ba3ef
parentcdb326a6e74e80bea9bffbeaaff1c5d1f4c9e733 (diff)
Fixes for prior changes
-rw-r--r--src/compile/files.c2
-rw-r--r--src/typecheck.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/compile/files.c b/src/compile/files.c
index 3e91976b..4d6fb1a8 100644
--- a/src/compile/files.c
+++ b/src/compile/files.c
@@ -36,7 +36,7 @@ void initialize_vars_and_statics(env_t *env, ast_t *ast) {
if (t->tag == FunctionType) t = Type(ClosureType, t);
Text_t val_code = compile_declared_value(env, stmt->ast);
if ((decl->value && !is_constant(env, decl->value)) || (!decl->value && has_heap_memory(t))) {
- Text_t initialized_name = namespace_name(env, env->namespace, Texts(decl_name, "$initialized"));
+ Text_t initialized_name = namespace_name(env, env->namespace, Texts(decl_name, "$$initialized"));
env->code->variable_initializers =
Texts(env->code->variable_initializers,
with_source_info(env, stmt->ast,
diff --git a/src/typecheck.c b/src/typecheck.c
index e34a85de..07f8aac4 100644
--- a/src/typecheck.c
+++ b/src/typecheck.c
@@ -606,6 +606,8 @@ type_t *get_function_type(env_t *env, ast_t *ast) {
if (ast->tag == Lambda) {
ast_t *body = Match(ast, Lambda)->body;
+
+ scope->fn = NULL;
type_t *ret_t = get_type(scope, body);
if (ret_t->tag == ReturnType) ret_t = Match(ret_t, ReturnType)->ret;
if (ret_t->tag == AbortType) ret_t = Type(VoidType);