Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8010682

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.

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

              Created:
              Updated: