Closes #6486
@@ -101,7 +101,7 @@ let run ~explicit_fn_name ~get_vmtype gen =
| _, TDynamic _ -> false
| r1, r2 -> try
unify r1 r2;
- true
+ if like_int r1 then like_int r2 else true
with | Unify_error _ -> false
in
(* we only have to worry about non-covariant issues *)
@@ -0,0 +1,23 @@
+package unit.issues;
+
+class Issue6486 extends Test
+{
+ function test() {
+ var p = new Point();
+ eq(p.getY(), 10);
+ var iy:IY = p;
+ }
+}
+@:keep private interface IY {
+ function getY():Float;
+@:keep private class Point implements IY {
+ public function new() {}
+ public function getY():Int {
+ return 10;