@@ -1725,21 +1725,16 @@ JL_DLLEXPORT int jl_subtype_env(jl_value_t *x, jl_value_t *y, jl_value_t **env,
1725
1725
#ifdef NDEBUG
1726
1726
if (obvious_subtype == 0 )
1727
1727
return obvious_subtype ;
1728
- else if (jl_has_free_typevars (y ))
1729
- obvious_subtype = 3 ;
1730
1728
else if (envsz == 0 )
1731
1729
return obvious_subtype ;
1732
- #else
1733
- if (jl_has_free_typevars (y ))
1734
- obvious_subtype = 3 ;
1735
1730
#endif
1736
1731
}
1737
1732
else {
1738
1733
obvious_subtype = 3 ;
1739
1734
}
1740
1735
init_stenv (& e , env , envsz );
1741
1736
int subtype = forall_exists_subtype (x , y , & e , 0 );
1742
- assert (obvious_subtype == 3 || obvious_subtype == subtype );
1737
+ assert (obvious_subtype == 3 || obvious_subtype == subtype || jl_has_free_typevars ( x ) || jl_has_free_typevars ( y ) );
1743
1738
return subtype ;
1744
1739
}
1745
1740
@@ -1793,8 +1788,6 @@ JL_DLLEXPORT int jl_types_equal(jl_value_t *a, jl_value_t *b)
1793
1788
if (subtype_ab == 0 )
1794
1789
return 0 ;
1795
1790
#endif
1796
- if (jl_has_free_typevars (b ))
1797
- subtype_ab = 3 ;
1798
1791
}
1799
1792
else {
1800
1793
subtype_ab = 3 ;
@@ -1814,8 +1807,6 @@ JL_DLLEXPORT int jl_types_equal(jl_value_t *a, jl_value_t *b)
1814
1807
if (subtype_ba == 0 )
1815
1808
return 0 ;
1816
1809
#endif
1817
- if (jl_has_free_typevars (a ))
1818
- subtype_ba = 3 ;
1819
1810
}
1820
1811
else {
1821
1812
subtype_ba = 3 ;
@@ -1832,7 +1823,7 @@ JL_DLLEXPORT int jl_types_equal(jl_value_t *a, jl_value_t *b)
1832
1823
if (subtype == 0 )
1833
1824
return 0 ;
1834
1825
#endif
1835
- assert (subtype_ab == 3 || subtype_ab == subtype );
1826
+ assert (subtype_ab == 3 || subtype_ab == subtype || jl_has_free_typevars ( a ) || jl_has_free_typevars ( b ) );
1836
1827
subtype_ab = subtype ;
1837
1828
}
1838
1829
#ifdef NDEBUG
@@ -1845,7 +1836,7 @@ JL_DLLEXPORT int jl_types_equal(jl_value_t *a, jl_value_t *b)
1845
1836
if (subtype == 0 )
1846
1837
return 0 ;
1847
1838
#endif
1848
- assert (subtype_ba == 3 || subtype_ba == subtype );
1839
+ assert (subtype_ba == 3 || subtype_ba == subtype || jl_has_free_typevars ( a ) || jl_has_free_typevars ( b ) );
1849
1840
subtype_ba = subtype ;
1850
1841
}
1851
1842
// all tests successful
0 commit comments