To: J3 J3/23-223 From: John Reid & Hidetoshi Iwashita Subject: Formal requirements for generic procedures Date: 2023-October-12 Reference: N2217 1. Introduction =============== At its meeting Jun 12-16, 2023, WG5 decided to approve generic procedures as described in N2217 for Fortran 202Y. Ues cases for this are set out in N2217. Here we present formal requirements. 2. Formal requirements ====================== a. A procedure shall be permitted to be declared as generic and invoked through its generic name, as a defined operation, as a defined assignment, or as a defined input/output procedure. b. One or more of the dummy arguments of a generic procedure shall be permitted to be declared with more than one type, kind type parameter, or rank. Each such dummy argument shall be called a 'generic' dummy argument. c. A specific procedure shall be defined for each combination of type, kind type parameter, and rank of each generic dummy argument. d. Any entity shall be permitted to be declared to have the same type, kind, or rank as a generic dummy argument in each specific procedure. e. A construct shall be available to specify that within it different code is selected depending on the type and kind of a generic dummy argument. f. A construct shall be available to specify that within it different code is selected depending on the rank of a generic dummy argument.