J3/15-203 To: J3 Subject: Wart removal proposal -- pointer arguments to SAME_TYPE_AS From: Van Snyder & Steve Lionel Date: 2015 August 05 Reference: 15-007r1, 15-111r1 1. Introduction =============== The dynamic type of a nonpolymorphic pointer is always well defined. Therefore the requirement that a pointer argument to SAME_TYPE_AS shall not have undefined association status is not necessary for nonpolymorphic arguments. The following works: type(t), pointer :: P class(t), intent(in) :: A nullify ( p ) if ( same_type_as ( A, P ) ) ... The following does not work (for no good reason): type(t), pointer :: P class(t), intent(in) :: A ! nullify ( p ) if ( same_type_as ( A, P ) ) ... The same observation and argument apply to EXTENDS_TYPE_OF. 2. Requirements =============== Allow a nonpolymorphic argument to EXTENDS_TYPE_OF or SAME_TYPE_AS to have undefined pointer association status. 3. Syntax ========= No change to existing syntax. 4. Edits ======== [Introduction, under "Intrinsic Functions"] Insert list item "-- Nonpolymorphic pointer arguments to EXTENDS_TYPE_OF or SAME_TYPE_AS are not required to have defined pointer association status." [358:25,27 13.8.70p3] Insert "polymorphic" before "pointer" twice. [397:25,27 13.8.156p3] Insert "polymorphic" before "pointer" twice.