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

Reply via email to