JDK-8177362 : Release Note: implement eager resolution of return types
  • Type: Sub-task
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 8u20,9
  • Priority: P2
  • Status: Closed
  • Resolution: Delivered
  • Submitted: 2017-03-22
  • Updated: 2017-09-22
  • Resolved: 2017-03-28
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 JDK 9
8u20Resolved 9Resolved
Description
The compiler specification, see JLS8 18.5.2, modified the treatment of nested generic method invocations for which the return type is an inference variable. The compiler has been adapted to implement the new logic. This is important to minimize incompatibility with the javac 7 inference algorithm. Three cases are considered:
- The return type needs to be captured
- The return type needs to have unchecked conversion
- The return type needs to be unboxed

The compiler update implies an eager resolution for generic method invocations, provided that the return type is an inference variable.