-
Bug
-
Resolution: Fixed
-
P4
-
8u40, 9
-
b61
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8085483 | emb-9 | Dan Smith | P4 | Resolved | Fixed | team |
JDK-8086999 | 8u65 | Dan Smith | P4 | Resolved | Fixed | b01 |
JDK-8077914 | 8u60 | Dan Smith | P4 | Resolved | Fixed | b14 |
JDK-8138432 | emb-8u65 | Unassigned | P4 | Resolved | Fixed | b01 |
JDK-8080036 | emb-8u60 | Dan Smith | P4 | Resolved | Fixed | team |
Since 8u40, per
Example:
-----
public class Test {
static <T> void varargs(T... ts) { System.out.println(ts); }
public static void main(String... args) {
varargs(p2.Other.getPrivate());
}
}
-----
package p2;
public class Other {
public static Iterable<Private> getPrivate() { return null; }
private class Private {}
}
-----
javac 8u20: compiler error
javac 8u40: compiles, IllegalAccessError at runtime
- backported by
-
JDK-8077914 Check varargs access against inferred signature
- Resolved
-
JDK-8080036 Check varargs access against inferred signature
- Resolved
-
JDK-8085483 Check varargs access against inferred signature
- Resolved
-
JDK-8086999 Check varargs access against inferred signature
- Resolved
-
JDK-8138432 Check varargs access against inferred signature
- Resolved
- relates to
-
JDK-8078175 Calling vararg method when inferred parameter type not accessible doesn't cause compilation error
- Closed
-
JDK-8036953 Fix timing of varargs access check, per JDK-8016205
- Closed
-
JDK-8075520 Varargs access check mishandles capture variables
- Closed