Hi Christoph,
On 13/05/2019 08:29, Langer, Christoph wrote:
Hi Daniel,
unfortunately, your proposed solution does not work with javac. I get this in
the build:
Oh darn. I should have double checked.
Can we at least reduce the scope of the @SuppressedWarnings by
introducing a private method that just has the return call?
best regards,
-- daniel
...\mercurial\jdk\src\java.net.http\share\classes\jdk\internal\net\http\ExchangeImpl.java:103:
error: method thenCompose in class CompletableFuture<T> cannot be applied to
given types;
return c2f.handle(factory).thenCompose(identity);
^
required: Function<? super CompletableFuture<? extends ExchangeImpl<U#1>>,? extends
CompletionStage<U#2>>
found: Function<CompletableFuture<? extends ExchangeImpl<U#1>>,CompletableFuture<?
extends ExchangeImpl<U#1>>>
reason: cannot infer type-variable(s) U#2
(argument mismatch; Function<CompletableFuture<? extends ExchangeImpl<U#1>>,CompletableFuture<? extends
ExchangeImpl<U#1>>> cannot be converted to Function<? super CompletableFuture<? extends
ExchangeImpl<U#1>>,? extends CompletionStage<U#2>>)
where U#1,U#2,T are type-variables:
U#1 extends Object declared in method
<U#1>get(Exchange<U#1>,HttpConnection)
U#2 extends Object declared in method <U#2>thenCompose(Function<? super T,? extends
CompletionStage<U#2>>)
T extends Object declared in class CompletableFuture
1 error
So I think we need to go back to my initial proposal which works for both, IDE and javac:http://cr.openjdk.java.net/~clanger/webrevs/8223553.0/
Thanks
Christoph