-
Type:
Bug
-
Resolution: Fixed
-
Priority:
P3
-
Affects Version/s: 16, 17
-
Component/s: tools
-
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)