java.util.concurrent jtreg tests no longer compile after 8194892: add compiler support for local-variable syntax for lambda parameters
Martin Buchholz
martinrb at google.com
Tue Feb 20 20:32:19 UTC 2018
It looks like this changeset has broken jtreg tests,
e.g. test/jdk/java/util/concurrent/tck/ConcurrentHashMap8Test.java
changeset: 48920:916690b5edc9
user: vromero
date: 2018-02-20 11:45 -0500
8194892: add compiler support for local-variable syntax for lambda
parameters
Reviewed-by: mcimadamore
the breakages seem bogus, or at least I don't know how to fix them. It's
as if javac no longer knows how to handle typed single-parameter lambda
argument lists.
E.g.
/home/martin/ws/jdk/test/jdk/java/util/concurrent/tck/ConcurrentHashMap8Test.java:643:
error: invalid lambda parameter declaration
m.forEachEntry(Long.MAX_VALUE, (Map.Entry<Long,Long> e) ->
adder.add(e.getKey().longValue() + e.getValue().longValue()));
^
(cannot mix implicitly-typed and explicitly-typed parameters)
/home/martin/ws/jdk/test/jdk/java/util/concurrent/tck/ConcurrentHashMap8Test.java:643:
error: not a statement
m.forEachEntry(Long.MAX_VALUE, (Map.Entry<Long,Long> e) ->
adder.add(e.getKey().longValue() + e.getValue().longValue()));
^
/home/martin/ws/jdk/test/jdk/java/util/concurrent/tck/ConcurrentHashMap8Test.java:643:
error: ';' expected
m.forEachEntry(Long.MAX_VALUE, (Map.Entry<Long,Long> e) ->
adder.add(e.getKey().longValue() + e.getValue().longValue()));
^
/home/martin/ws/jdk/test/jdk/java/util/concurrent/tck/ConcurrentHashMap8Test.java:683:
error: invalid lambda parameter declaration
m.forEachEntry(1L, (Map.Entry<Long,Long> e) ->
adder.add(e.getKey().longValue() + e.getValue().longValue()));
^
(cannot mix implicitly-typed and explicitly-typed parameters)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20180220/60dc15bd/attachment.html>
More information about the compiler-dev
mailing list