mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-05-26 13:23:17 +07:00
check diamond applicability over static factory underneath (IDEA-159287)
This commit is contained in:
+20
@@ -0,0 +1,20 @@
|
||||
import java.util.Comparator;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collector;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
class Collectinator<T, A, R> {
|
||||
Collectinator(Collector<T, A, R> collector) {
|
||||
}
|
||||
|
||||
static <K, L, M> Collectinator<K, L, M> create(Collector<K, L, M> c) {
|
||||
return new Collectinator<K, L, M>(c);
|
||||
}
|
||||
|
||||
public static void foo(Comparator<Foo> compareTo) {
|
||||
Collectinator<Foo, ?, Optional<Foo>> foo = new Collectinator< >(Collectors.maxBy(compareTo));
|
||||
Collectinator<Foo, ?, Optional<Foo>> foo1 = Collectinator.create(Collectors.maxBy(compareTo));
|
||||
}
|
||||
}
|
||||
|
||||
class Foo {}
|
||||
+1
-1
@@ -6,7 +6,7 @@ class Test {
|
||||
|
||||
Holder dataHolder = null;
|
||||
Result<String> r3 = new Result<error descr="Cannot infer arguments"><></error>(new Holder<>(dataHolder));
|
||||
Result<String> r4 = Result.create<error descr="'create(K)' in 'Result' cannot be applied to '(Holder<E>)'">(new Holder<>(dataHolder))</error>;
|
||||
Result<String> r4 = Result.create<error descr="'create(K)' in 'Result' cannot be applied to '(Holder)'">(new Holder<>(dataHolder))</error>;
|
||||
|
||||
Result<String> r5 = new Result<error descr="Cannot infer arguments"><></error>(Holder.create(dataHolder));
|
||||
Result<String> r6 = Result.create<error descr="'create(K)' in 'Result' cannot be applied to '(Holder)'">(Holder.create(dataHolder))</error>;
|
||||
|
||||
Reference in New Issue
Block a user