Skip to content
This repository has been archived by the owner on Apr 13, 2023. It is now read-only.

Commit

Permalink
fix #7207
Browse files Browse the repository at this point in the history
  • Loading branch information
chochos committed Nov 20, 2017
1 parent 3bb3c74 commit 8bbbd3d
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions language/runtime-js/is-op.js
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,13 @@ function extendsType(t1, t2, tparm) {
return true;
} else if (t1 === null) {
return isNullType(t2);
//This is an ugly ugly hack. The real problem is to check type parameters of type parameters, when you
//pass a type parameter such as Empty in t1 which has no type parameters defined in it (but are in the superclass)
//because you have to compare them (in this example, to find that Absent is Null in Empty, so that if fails
//when passed a non-empty Iterable)
} else if (t1.t === Empty && t2 && t2.a && t2.a.Absent$Iterable &&
t2.a.Absent$Iterable.t === Nothing && extendsType({t:t2.t},{t:Iterable},tparm)) {
return false;
}
if (t1.t === 'u' || t1.t === 'i') {
if (t1.t==='i')removeSupertypes(t1.l);
Expand Down

0 comments on commit 8bbbd3d

Please sign in to comment.