Missing substitution in 18.3?
daniel.smith at oracle.com
Tue Dec 17 15:26:39 PST 2013
On Dec 17, 2013, at 8:27 AM, Stephan Herrmann <stephan.herrmann at berlin.de> wrote:
> At some point the type variables T,K,U of toMap must be
> substituted with their inference variables, but neither 18.5.2
> nor 18.3 say so, or am I missing anything?
Okay, yes. The capture bound should already have the substitution applied in 18.5.2:
G<β1, ..., βn> = capture(G<A1 θ, ..., An θ>)
I'll fix that.
I also noticed that, since we've established that the invocation is a poly expression, the return type must contain an inference variable (after substitution) -- per 15.12 in Part D. So it can't be void. I've eliminated that case.
More information about the lambda-spec-observers