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

Enhance erased-signature clash check for subsignatures

    XMLWordPrintable

    Details

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                Created:
                Updated: