diff --git a/src/compiler/compiler_internal.h b/src/compiler/compiler_internal.h index 3c383be89..34490d5c4 100644 --- a/src/compiler/compiler_internal.h +++ b/src/compiler/compiler_internal.h @@ -2598,6 +2598,7 @@ INLINE bool type_info_poison(TypeInfo *type) type->resolve_status = RESOLVE_NOT_DONE; return false; } + type->kind = TYPE_INFO_POISON; type->type = poisoned_type; type->resolve_status = RESOLVE_DONE; return false; diff --git a/src/version.h b/src/version.h index bb601ba56..725c47f2f 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define COMPILER_VERSION "0.4.593" \ No newline at end of file +#define COMPILER_VERSION "0.4.594" \ No newline at end of file diff --git a/test/test_suite/types/illegal_array_size_constant.c3 b/test/test_suite/types/illegal_array_size_constant.c3 new file mode 100644 index 000000000..d4785c7ad --- /dev/null +++ b/test/test_suite/types/illegal_array_size_constant.c3 @@ -0,0 +1,12 @@ +module testing; + +struct Foo +{ + Entry[1 << N] data; // #error: 'N' could not be found +} + +struct Entry +{ + String key; + String value; +} \ No newline at end of file