aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2023-08-07 15:18:45 +0100
committergingerBill <bill@gingerbill.org>2023-08-07 15:18:45 +0100
commitb782fca75bbd3f8bd36b076e42e85005df48f70f (patch)
treef64661ac5777cd97ec78aac50f5bef9e24680d42 /src
parent0230b8807851de2b1e9975a1c292a0a4471936f9 (diff)
Fix `using` bug
Diffstat (limited to 'src')
-rw-r--r--src/check_stmt.cpp2
-rw-r--r--src/entity.cpp1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/check_stmt.cpp b/src/check_stmt.cpp
index fa5f8f428..cb1aa86ab 100644
--- a/src/check_stmt.cpp
+++ b/src/check_stmt.cpp
@@ -1983,7 +1983,7 @@ gb_internal void check_value_decl_stmt(CheckerContext *ctx, Ast *node, u32 mod_f
for (auto const &entry : scope->elements) {
Entity *f = entry.value;
if (f->kind == Entity_Variable) {
- Entity *uvar = alloc_entity_using_variable(e, f->token, f->type, nullptr);
+ Entity *uvar = alloc_entity_using_variable(e, f->token, f->type, e->identifier);
uvar->flags |= (e->flags & EntityFlag_Value);
Entity *prev = scope_insert(ctx->scope, uvar);
if (prev != nullptr) {
diff --git a/src/entity.cpp b/src/entity.cpp
index ce27da3f2..4fc98f277 100644
--- a/src/entity.cpp
+++ b/src/entity.cpp
@@ -347,6 +347,7 @@ gb_internal Entity *alloc_entity_using_variable(Entity *parent, Token token, Typ
entity->using_parent = parent;
entity->parent_proc_decl = parent->parent_proc_decl;
entity->using_expr = using_expr;
+ GB_ASSERT(using_expr != nullptr);
entity->flags |= EntityFlag_Using;
entity->flags |= EntityFlag_Used;
entity->state = EntityState_Resolved;