aboutsummaryrefslogtreecommitdiff
path: root/src/check_expr.cpp
diff options
context:
space:
mode:
authorLaytan Laats <laytanlaats@hotmail.com>2025-04-30 19:39:38 +0200
committerLaytan Laats <laytanlaats@hotmail.com>2025-04-30 19:39:38 +0200
commit9fb938244920b1a9d9a085ceaf651219baddc854 (patch)
tree0b756675ea4df160276f21377c3a8e8e87caeb7a /src/check_expr.cpp
parente64bcc77091ff9215b7775d2ee2245a92a02c2a7 (diff)
fixes assigning null as a type if it's an alias but the base type isn't resolved yet
It's a bit of a band aid fix because the field will get the type of the alias, not the base type, but that was already the case before #5045 so it's forward progression. Closes #5092 Fixes #5061
Diffstat (limited to 'src/check_expr.cpp')
-rw-r--r--src/check_expr.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp
index 5185876e6..69f6bb855 100644
--- a/src/check_expr.cpp
+++ b/src/check_expr.cpp
@@ -1854,7 +1854,10 @@ gb_internal Entity *check_ident(CheckerContext *c, Operand *o, Ast *n, Type *nam
o->type = t_invalid;
}
if (o->type != nullptr && o->type->kind == Type_Named && o->type->Named.type_name->TypeName.is_type_alias) {
- o->type = base_type(o->type);
+ Type *bt = base_type(o->type);
+ if (bt != nullptr) {
+ o->type = bt;
+ }
}
break;