method references: exclude type parameter used in return types only (IDEA-171480)

This commit is contained in:
Anna.Kozlova
2017-04-18 15:03:44 +02:00
parent 9f6e8ccb35
commit a3dca1423c
4 changed files with 66 additions and 29 deletions
@@ -0,0 +1,28 @@
import java.util.function.Function;
abstract class View<Tv, Av, Bv> {
public Const<Av, Tv> apply(final Fixed<Tv, Av, Bv, Const<Av, Tv>, Const<Av, Bv>> fix) {
return fix.apply(Const::new);
}
}
@FunctionalInterface
interface Fixed< T, A, B,
FT extends Functor<T>,
FB extends Functor<B>> {
FT apply(Function< A, FB> function);
}
interface Functor<A> {
}
final class Const<A, B> implements Functor<B> {
A a;
public Const(A a) {
this.a = a;
}
}