Index: runtime/vm/object.cc |
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
index 5ed01da4238e3e232df74d24283e39fa627986a4..c7c2970dde313d8a11a196207ee78e037fa05dda 100644 |
--- a/runtime/vm/object.cc |
+++ b/runtime/vm/object.cc |
@@ -2185,12 +2185,13 @@ bool Class::TypeTest( |
// Since we do not truncate the type argument vector of a subclass (see |
// below), we only check a prefix of the proper length. |
// Check for covariance. |
- if (other_type_arguments.IsNull() || |
- other_type_arguments.IsRawInstantiatedRaw(len)) { |
+ if (other_type_arguments.IsNull() || other_type_arguments.IsRaw(len)) { |
return true; |
} |
- if (type_arguments.IsNull() || |
- type_arguments.IsRawInstantiatedRaw(len)) { |
+ if (type_arguments.IsNull() || type_arguments.IsRaw(len)) { |
+ // Other type can't be more specific than this one because for that |
+ // it would have to have all dynamic type arguments which is checked |
+ // above. |
return test_kind == kIsSubtypeOf; |
} |
return type_arguments.TypeTest(test_kind, |