From owner-sc22wg5@open-std.org  Sun Jul 25 22:48:40 2010
Return-Path: <owner-sc22wg5@open-std.org>
X-Original-To: sc22wg5-dom8
Delivered-To: sc22wg5-dom8@www2.open-std.org
Received: by www2.open-std.org (Postfix, from userid 521)
	id 7DE60C3BA01; Sun, 25 Jul 2010 22:48:40 +0200 (CEST)
X-Original-To: sc22wg5@open-std.org
Delivered-To: sc22wg5@open-std.org
Received: from mailrelay1.lrz-muenchen.de (mailrelay1.lrz-muenchen.de [129.187.254.106])
	by www2.open-std.org (Postfix) with ESMTP id A05A1C178E6
	for <sc22wg5@open-std.org>; Sun, 25 Jul 2010 22:48:38 +0200 (CEST)
Received: from webmail.lrz-muenchen.de ([129.187.254.85] [129.187.254.85]) by mailout.lrz-muenchen.de with ESMTP; Sun, 25 Jul 2010 22:47:56 +0200
Received: from p5de97a97.dip.t-dialin.net ([93.233.122.151])
        (SquirrelMail authenticated user a2832ba)
        by webmail.lrz-muenchen.de with HTTP;
        Sun, 25 Jul 2010 22:47:56 +0200 (CEST)
Message-Id: <1331.93.233.122.151.1280090876.squirrel@webmail.lrz-muenchen.de>
Date: Sun, 25 Jul 2010 22:47:56 +0200 (CEST)
Subject: Executing a type-bound procedure on a coindexed object
From: Reinhold.Bader@lrz.de
To: j3@j3-fortran.org
Cc: sc22wg5@open-std.org
User-Agent: SquirrelMail/1.4.13
MIME-Version: 1.0
Content-Type: text/plain;charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

Dear all,

NOTE 12.16 of the draft 2008 standard appears to imply that a type-bound
procedure may be invoked on a polymorphic coindexed object:

"When resolving type-bound procedure references, constraints on the use of
coindexed objects ensure that
the coindexed object (on the remote image) has the same dynamic type as
the corresponding object on the
local image. Thus a processor can resolve the type-bound procedure using
the coarray variable on its own
image and pass the coindexed object as the actual argument."

However, according to 12.5.2.4, para 2:

"The dummy argument shall be type compatible with the actual argument. If
the actual argument is a polymorphic
coindexed object, the dummy argument shall not be polymorphic."

Considering that the passed argument dummy is required to be polymorphic
(at least in case the type is extensible), this restriction appears to
contradict the implication of the NOTE.

The following question arises: Is it hence required to manually resolve
the type using a SELECT TYPE statement before invoking the TBP?


Regards
Reinhold

