(j3.2006) Abstract types and type-bound procedures
Malcolm Cohen
malcolm
Thu Nov 25 18:56:32 EST 2010
Tobias Burnus writes:
> CALL polymorphic%abstract%tbp()
>
>where "polymorphic" is some polymorphic type,
> which extends "abstract"
I think you mean a polymorphic object of some type that extends "abstract".
>and "tbp" is a non-deferred type-bound procedure of "abstract".
>
>Is this valid or not?
Not.
> It seems to be valid if I read the following correctly. (Quotes from F2008,
> N1830.)
>
>R1220 call-stmt is CALL procedure-designator [ ( [ actual-arg-spec-list ] ) ]
>R1221 procedure-designator is procedure-name
> or proc-component-ref
> or data-ref % binding-name
>
>R611 data-ref is part-ref [ % part-ref ] ...
>R612 part-ref is part-name [ ( section-subscript-list ) ] [ image-selector ]
>
>C611 (R611) If the rightmost part-name is of abstract type, data-ref shall be
>polymorphic.
And you even quoted the constraint that makes it invalid!
In your example, the "data-ref" is "polymorphic%abstract".
You said that "abstract" was of abstract type.
And "polymorphic%abstract" certainly is not polymorphic - you have selected the
bit that is of type "abstract".
Cheers,
--
................................Malcolm Cohen, Nihon NAG, Tokyo.
More information about the J3
mailing list