closes #9797
@@ -13,7 +13,13 @@ let same_overload_args ?(get_vmtype) t1 t2 f1 f2 =
| [],[] ->
true
| (n1,t1) :: params1,(n2,t2) :: params2 ->
- n1 = n2 && f_eq t1 t2 && loop params1 params2
+ let constraints_equal t1 t2 = match follow t1,t2 with
+ | TInst({cl_kind = KTypeParameter tl1},_),TInst({cl_kind = KTypeParameter tl2},_) ->
+ Ast.safe_for_all2 f_eq tl1 tl2
+ | _ ->
+ false
+ in
+ n1 = n2 && constraints_equal t1 t2 && loop params1 params2
| [],_
| _,[] ->
false
@@ -0,0 +1,15 @@
+package unit.issues;
+
+private abstract class AbstractClass {
+ abstract function test<T>():Void;
+}
+private class ConcreteClass extends AbstractClass {
+ override function test<T>():Void {}
+class Issue9797 extends unit.Test {
+ function test() {
+ utest.Assert.pass();
+ }