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.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/check_decl.cpp b/src/check_decl.cpp
index 587d749b4..86a887157 100644
--- a/src/check_decl.cpp
+++ b/src/check_decl.cpp
@@ -321,7 +321,14 @@ gb_internal void check_type_decl(CheckerContext *ctx, Entity *e, Ast *init_expr,
gb_string_free(str);
is_distinct = false;
}
+ } else {
+ if (is_type_typeid(e->type)) {
+ error(init_expr, "'typeid' cannot be aliased");
+ } else if (is_type_any(e->type)) {
+ error(init_expr, "'any' cannot be aliased");
+ }
}
+
if (!is_distinct) {
e->type = bt;
named->Named.base = bt;