JDK-8039198 : Types.isSubtype takes wildcards as input
  • Type: Bug
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 8
  • Priority: P5
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2014-04-03
  • Updated: 2014-09-30
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.
Related Reports
Relates :  
Relates :  
Due to an incorrect substitution (I think), bounds checking sometimes invokes Types.isSubtype with a wildcard in place of a type.  We work around this by getting the wildcard's bound, but that should not be subtyping's job, and is probably incorrect behavior.

I encountered this while building JDK & running tests after removing the wildcard lower bound mapping performed in the initialization of 'lower'.  (I kept the capture variable lower bound mapping, which is correct.)