aboutsummaryrefslogtreecommitdiff
path: root/src/check_decl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/check_decl.cpp')
-rw-r--r--src/check_decl.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/check_decl.cpp b/src/check_decl.cpp
index 3f5ef042f..5ede584aa 100644
--- a/src/check_decl.cpp
+++ b/src/check_decl.cpp
@@ -40,6 +40,14 @@ Type *check_init_variable(CheckerContext *ctx, Entity *e, Operand *operand, Stri
return nullptr;
}
+ if (operand->mode == Addressing_Type) {
+ gbString t = type_to_string(operand->type);
+ error(operand->expr, "Cannot assign a type '%s' to variable '%.*s'", t, LIT(e->token.string));
+ gb_string_free(t);
+ e->type = operand->type;
+ return nullptr;
+ }
+
if (e->type == nullptr) {