(j3.2006) (SC22WG5.4340) 10-208r1

Reinhold.Bader at lrz.de Reinhold.Bader
Wed Oct 13 18:41:51 EDT 2010

Hello all,

I do not understand the argumentation given in answer A1 of 10-208r1. I
suspect this may be due to the fact that I do not exactly understand what
is meant by

"[...] the call to the type-bound procedure cannot be resolved [...]"

According to my understanding, invocation of a type-bound procedure on a
coindexed object involves the following steps:

(1) determine which dynamic type o_foo is of (and this information *is*
locally available, no matter what the type of o_foo%badcomponent is), and
hence which subprogram must be executed
(2) copy object from remote image to invoking image
(3) execute the identified subprogram
(4) copy back object to image provided certain prerequisites are fulfilled
(which presumably is not the case for the %badcomponent case anyway).

Based on this, I'd judge step (2) to be the problem. However, in this case
the requirement in would not be sufficient to avoid the
problem, even if you have a non-polymorphic actual argument. Or does
10-208r1 wish to imply that the construction

  TYPE IS (foo)
    CALL o_foo[2]%op(1)

is also disallowed if the dynamic type of o_foo is badfoo?

Slightly (?) confused,

More information about the J3 mailing list