To: J3 J3/14-177 From: David Muxworthy Subject: UK proposal UK-15 GENERIC stmt as alternative to interface block Date: 2014 June 09 Status: For Consideration Comment: This is US-06 from N1982 which was "subject to WG5 review in 2014". The BSI panel endorses this proposal. A somewhat similar proposal was made by Espen Myklebust. The following is copied from J3/13-209 except that page and line references to 14-007r1 have been added (specified subclause numbers have not changed between 10-007r1 and 14-007r1) 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 [30:21+] In subclause 2.1 add an alternative to R207 <> [280:22] In subclause 12.4.3.2 replace in R1206 with [280:22+] Insert new syntax rule R1206a <> [281:8] Change the reference in C1207 to refer to R1206a. [282:1-] 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 . [284:5] 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 ." [284:6] 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 ."