Forgot that attachment is not allowed, the test code is following,

> public class TestOverload {
>     interface Foo<T> {
>         void m(T arg);
>     }
> 
>     interface IntFoo {
>         void m(int arg);
>     }
> 
>     interface Bar<T> {
>         void bar(Foo<T> arg);
>     }
> 
>     interface IntBar extends Bar<Integer> {
>         @SuppressWarnings("overloads")
>         default void bar(IntFoo arg) {
>             System.out.print("Primitive: ");
>         }
> 
>         @SuppressWarnings("overloads")
>         default void bar(Foo<Integer> arg) {
>             System.out.print("Boxed: ");
>             bar((IntFoo) arg::m);
>         }
>     }
> 
>     public static void main(String[] args) {
>         class Impl implements IntBar {
>             @Override
>             public void bar(IntFoo foo) {
>                 IntBar.super.bar(foo);
>                 System.out.print("Overload: ");
>                 for (String arg: args) {
>                     Integer n = Integer.valueOf(arg);
>                     foo.m(n.intValue());
>                 }
>             }
>         }
>         Impl impl = new Impl();
>         impl.bar((int n) -> System.out.println(n + 100));
>         impl.bar((Integer n) -> System.out.println(n));
>     }
> }


On Sep 24, 2013, at 11:11 AM, Henry Jen <henry....@oracle.com> wrote:

> Hi,
> 
> I had reported this issue with attached test with behavior I observed, Brian 
> and me agreed that SuppressWarnings on either one as in this test case should 
> be sufficient.
> 
> Cheers,
> Henry
> 

Reply via email to