Missing substitution in 18.3?

Dan Smith daniel.smith at oracle.com
Mon Dec 16 16:13:43 PST 2013


The substitution should not be applied to Ai -- it's for the declared bounds, not the (use-site) type arguments.

Can you provide an example so I can explore whether there's something wrong with 18.5.2?

—Dan

On Dec 9, 2013, at 6:21 PM, Stephan Herrmann <stephan.herrmann at berlin.de> wrote:

> I'm looking at a complex example where inference fails
> (contrary to javac behavior).
> The most likely problem is in 18.3., sedond list, bullet 5:
> 
> "If Ai is not a wildcard, the bound αi = Ai is immediately implied."
> 
> I believe sustitution θ must be applied to Ai, here!
> (prefix or postfix as you like :) )
> Alternatively, there could be s.t. wrong with how the capture bound
> was first created in 18.5.2 (rhs here has no substitution either).
> The point is we are leaking type variables into the inference,
> for which inference variables have been defined -> FAIL.
> 
> Do you agree?
> Stephan



More information about the lambda-spec-experts mailing list