To: J3 J3/24-188r1 From: Malcolm Cohen Subject: Auto-generic subprograms comment (3) re coarrays Date: 2024-October-30 References: 24-139r2, 24-168. 1. Introduction 24-139r2 made the simplification of not permitting an auto-generic dummy argument to be a coarray. 24-168 asks for reconsideration. This paper is for revisiting the issue. 2. The current syntax (24-139r2) Syntax part x03 has the following constraint, comment, specification, and rationale for the decision. C8nn A generic dummy argument shall not be a coarray. Comment Codimension is not mentioned in the requirements, use cases, or specifications, but seems like it would add complication. So we should prohibit it for now. sNN A generic dummy argument cannot be a coarray. Reason: This is just a simplification. At a future time we could allow this, and we could also allow generic-corank dummy arguments. 3. Proposed in 24-168 24-168 states: In N2217, a generic type declaration statement is defined in the form of an extension of R801 type-declaration-statement and therefore it allows coarrays as generic dummy arguments. I cannot imagine any example where coarrays would be a problem. (My only concern is regarding the value of MAX_RANK and its derived problems.) Logically, a program written with a generic subprogram is equivalent to the program written with the corresponding specific subprograms. Therefore, I believe that a generic subprogram can allow a coarray as a generic dummy argument as long as a non-generic subprogram can allow the same coarray as a dummy argument. 4. Subgroup recommendation Subgroup does not have a strong opinion on the issue. The current syntax is reasonable, but it is not much of a simplification. 5. The decision Straw vote: (a) disallow coarray dummy arguments auto-generic in rank/type/kind (retain the current syntax and constraint, i.e. status quo) (b) allow coarray dummy arguments to be auto-generic in rank/type/kind (remove the constraint) (u) undecided Result: (a) 8 (b) 9 (u) 9 ===END===