Rudimentary support for parametric polymorphic types

This commit is contained in:
Ginger Bill
2017-07-13 22:35:00 +01:00
parent b8697fb4ed
commit 1c5ddd65b4
10 changed files with 1124 additions and 650 deletions

View File

@@ -558,7 +558,7 @@ void check_var_decl(Checker *c, Entity *e, Entity **entities, isize entity_count
if (type_expr != nullptr) {
e->type = check_type(c, type_expr);
}
if (e->type != nullptr && is_type_polymorphic(e->type)) {
if (e->type != nullptr && is_type_polymorphic(base_type(e->type))) {
error(e->token, "Invalid use of a polymorphic type in %.*s", LIT(context_name));
e->type = t_invalid;
}