-
Bug
-
Resolution: Unresolved
-
P4
-
9
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+121)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+121, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Darwin snazy-ds15.local 15.5.0 Darwin Kernel Version 15.5.0: Tue Apr 19 18:36:36 PDT 2016; root:xnu-3248.50.21~8/RELEASE_X86_64 x86_64
A DESCRIPTION OF THE PROBLEM :
Apache Cassandra fails to compile o.a.c.utils.Throwables at line #79.
https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/utils/Throwables.java#L79
The relevant methods look like this:
public static <E extends Exception> void perform(DiscreteAction<? extends E> ... actions) throws E
{
perform(Stream.of(actions));
}
public static <E extends Exception> void perform(Stream<DiscreteAction<? extends E>> actions) throws E
{
...
}
The above compiles fine w/ JDK8 but fails with JDK9.
As a workaround, I've changed the invocation to "Throwables.<E>perform(Stream.of(actions));"
(FYI: Got a branch that compiles fine working around that issue here: https://github.com/snazy/cassandra/tree/9608-java9-trunk)
REGRESSION. Last worked in version 8u92
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Checkout Apache Cassandra using current trunk & run "ant jar"
REPRODUCIBILITY :
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
(see above)
- duplicates
-
JDK-8165756 java compiler regression in nested varags
- Closed
-
JDK-8155072 Type inference regression
- Closed
-
JDK-8177520 Type inference "varargs mismatch; inference variable R has incompatible bounds"
- Closed
-
JDK-8160114 Unexpected inferred type from wildcard subtyping constraint
- Closed
- is blocked by
-
JDK-8016196 Inference: define supertype parameterization for wildcard-parameterized types
- Open
-
JDK-8170887 18.2.1: Capture variables should not escape lambda bodies
- Open
- relates to
-
JDK-8166437 Regression in javac - inferring generic types in Guava
- Closed
-
JDK-8039214 Inference should not map capture variables to their upper bounds
- Closed