J3/13-209 To: J3 From: Van Snyder Subject: GENERIC statement as alternative to interface block Date: 2013 December 19 References: 12-183r5(7), 04-187, 04-265r1; 2004 hate-dislike-like-love score 0-1-10-1 Title: GENERIC statement as alternative to interface block Submitted by: Van Snyder Status: For consideration Basic functionality: Allow a GENERIC statement as an alternative to an interface block, with syntax similar to its use within a type definition. Rationale: Reduces the number of statements, and thereby long-term cost. Estimated impact: Minor Markham M6 conformance: Remove simple deficiency and discrepancy. Detailed specification: Allow a GENERIC statement as an alternative to an interface block, with syntax similar to its use within a type definition. Draft edits: To estimate scope of project Add an alternative to R207 <> Replace in R1206 with Insert new syntax rule R1206a <> Change the reference in C1207 to refer to R1206a. Insert subclause 12.4.3.2a after subclause 12.4.3.2 "<<12.4.3.2a GENERIC statement>> "A GENERIC statement specifies a generic identifier for one or more specific procedures, in the same way as a generic interface block that does not contain interface bodies. R1208a <> GENERIC [, ] :: => "If appears, it specifies the accessibility (5.3.2) of ." Insert a sentence in 12.4.3.4.1p1 before the final sentence: "A GENERIC statement specifies a generic interface for each of the procedures named in its ." Insert a sentence after the first sentence of 12.4.3.4.1p2: "The in a GENERIC statement is a generic identifier for all of the procedures named in its ."