Browse Source

Merge pull request #739 from bttelle/issue-486

Fix issue #486
gingerBill 5 years ago
parent
commit
f5b18482f6
1 changed files with 4 additions and 0 deletions
  1. 4 0
      src/check_expr.cpp

+ 4 - 0
src/check_expr.cpp

@@ -852,6 +852,10 @@ bool is_polymorphic_type_assignable(CheckerContext *c, Type *poly, Type *source,
 		return false;
 	case Type_Pointer:
 		if (source->kind == Type_Pointer) {
+			isize level = check_is_assignable_to_using_subtype(source->Pointer.elem, poly->Pointer.elem);
+			if (level > 0) {
+				return true;
+			}
 			return is_polymorphic_type_assignable(c, poly->Pointer.elem, source->Pointer.elem, true, modify_type);
 		}
 		return false;