diff options
Diffstat (limited to 'src/types.cpp')
| -rw-r--r-- | src/types.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/types.cpp b/src/types.cpp index e95fa7c3b..c91bb631c 100644 --- a/src/types.cpp +++ b/src/types.cpp @@ -1127,7 +1127,8 @@ bool is_type_polymorphic(Type *t) { case Type_Named: return is_type_polymorphic(t->Named.base); - + case Type_Opaque: + return is_type_polymorphic(t->Opaque.elem); case Type_Pointer: return is_type_polymorphic(t->Pointer.elem); case Type_Array: @@ -2571,6 +2572,11 @@ gbString write_type_to_string(gbString str, Type *type) { str = write_type_to_string(str, type->Pointer.elem); break; + case Type_Opaque: + str = gb_string_appendc(str, "opaque "); + str = write_type_to_string(str, type->Opaque.elem); + break; + case Type_Array: str = gb_string_appendc(str, gb_bprintf("[%d]", cast(int)type->Array.count)); str = write_type_to_string(str, type->Array.elem); |