diff options
Diffstat (limited to 'src/check_expr.cpp')
| -rw-r--r-- | src/check_expr.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 61bf9eeca..dc2e44533 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -803,6 +803,11 @@ bool is_polymorphic_type_assignable(CheckerContext *c, Type *poly, Type *source, } return true; } + case Type_Opaque: + if (source->kind == Type_Opaque) { + return is_polymorphic_type_assignable(c, poly->Opaque.elem, source->Opaque.elem, true, modify_type); + } + return false; case Type_Pointer: if (source->kind == Type_Pointer) { return is_polymorphic_type_assignable(c, poly->Pointer.elem, source->Pointer.elem, true, modify_type); |