undeclared symbol in 18.5.2?

Stephan Herrmann stephan.herrmann at berlin.de
Tue Nov 19 13:01:18 PST 2013

Pondering more about this I no longer think this is only
a trivial question of notation:

On 11/14/2013 09:07 PM, Stephan Herrmann wrote:
> This should be an easy one:
> in 18.5.2 we have these fragments in order:
> "... and let S be the invocation's target type."

This is guarded by "If the invocation is a poly expression"
so we know that a context exists that defines a target type.

> "* For all i (1 ≤ i ≤ k), the set contains ⟨ei ⊆throws T⟩."

This one is not guarded, so we expect to have a T even in
standalone situations. Something seems to be missing here.
This spec throws NPE :). Please clarify.

> "... the target type, T, ..."

Although using the same term "target type" as above, this
seems to actually refer to the T introduced in this sentence:

"Invocation type inference may require carefully sequencing
  the reduction of constraint formulas of the form ⟨Expression → T⟩
  and ⟨Expression ⊆throws T⟩. To facilitate this sequencing, the
  input variables of these constraints are defined as follows:"

Is this guess correct?


More information about the lambda-spec-experts mailing list