[goalc] Fix error when putting #f in an array of symbols (#1804)

This commit is contained in:
water111
2022-08-26 15:54:29 -04:00
committed by GitHub
parent 24590ec670
commit bc3cd2cf72
3 changed files with 10 additions and 3 deletions
+4 -2
View File
@@ -848,8 +848,10 @@ void Compiler::fill_static_array_inline(const goos::Object& form,
typecheck(form, TypeSpec("integer"), sr.typespec());
} else {
if (sr.is_symbol() && sr.symbol_name() == "#f") {
// allow #f for any structure.
typecheck(form, TypeSpec("structure"), content_type);
// allow #f for any structure, or symbol (no longer a structure in jak 2)
if (content_type.base_type() != "symbol") {
typecheck(form, TypeSpec("structure"), content_type);
}
} else {
typecheck(form, content_type, sr.typespec());
}