-
Bug
-
Resolution: Fixed
-
P3
-
16, 17
-
b05
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8260447 | 16.0.1 | Vicente Arturo Romero Zaldivar | P3 | Resolved | Fixed | b03 |
JDK-8260433 | 16 | Vicente Arturo Romero Zaldivar | P3 | Resolved | Fixed | b34 |
Using all requireNonNull variants of java.util.Objects
import static java.util.Objects.*;
record Test(String v) {
Test {
requireNonNull(v);
requireNonNull(v, "v must be provided");
// requireNonNull(v, () -> "v must be provided");
requireNonNullElse(v, "w");
// requireNonNullElseGet(v, () -> "w");
}
}
leads to this error message after uncommenting one or both of the supplier-taking lines:
Test.java:2: error: invalid compact constructor in record <init>
Test {
^
(compact constructor must not have return statements)
1 error
Observed with javac 16-ea+27 and 17-ea+3.
import static java.util.Objects.*;
record Test(String v) {
Test {
requireNonNull(v);
requireNonNull(v, "v must be provided");
// requireNonNull(v, () -> "v must be provided");
requireNonNullElse(v, "w");
// requireNonNullElseGet(v, () -> "w");
}
}
leads to this error message after uncommenting one or both of the supplier-taking lines:
Test.java:2: error: invalid compact constructor in record <init>
Test {
^
(compact constructor must not have return statements)
1 error
Observed with javac 16-ea+27 and 17-ea+3.
- backported by
-
JDK-8260433 Record compact constructor using Objects.requireNonNull
-
- Resolved
-
-
JDK-8260447 Record compact constructor using Objects.requireNonNull
-
- Resolved
-
- links to
-
Commit openjdk/jdk16/408772c9
-
Commit openjdk/jdk/33fbc10c
-
Review openjdk/jdk16/133
-
Review openjdk/jdk/1917
(1 links to)