class A<T> { | |
A(T... t) { | |
} | |
{ | |
A<String> a = new A<>("a", "b"); | |
foo(new A<>("", "")); | |
bar(new A<>("", "")); | |
bar(new A<>(get())); | |
bar(new A<>(get( ), "")); | |
} | |
void foo(A<String> s) {} | |
<T> void bar(A<T> s) {} | |
<K> K get() {return null;} | |
<M> A<M> s(M... m) { | |
return null; | |
} | |
{ | |
bar(s(get())); | |
bar(s(get(), "")); | |
} | |
} |