diff options
Diffstat (limited to 'src/check_decl.cpp')
| -rw-r--r-- | src/check_decl.cpp | 8 |
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) { |