Enhance erased-signature clash check for subsignatures

XMLWordPrintable

      The declaration of C.m should be illegal here, because it does not override A.m, but at run time an invocation of A.m will have the effect of calling C.m.

      public class A<T> {
       public void m(T arg) { System.out.println("A.m"); }
      }
      public class B<U extends Number> extends A<U> {
       public void m(Number arg) { System.out.println("B.m"); }
      }
      public class C<V extends Integer> extends B<V> {
       public void m(Number arg) { System.out.println("C.m"); }
      }

      This requires an accompanying spec change; see JDK-8010681.

            Assignee:
            Dan Smith
            Reporter:
            Dan Smith
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: