J3/15-117 To: J3 Subject: Wart removal proposal -- Specify type parameters with EXTENDS From: Van Snyder Date: 2015 January 29 Reference: 15-007 1. Introduction =============== The syntax of the EXTENDS attribute of a derived type definition uses . This does not allow to specify type parameters of the parent type, which could be used to prohibit them from being specified differently when variables of the extension type are declared. 2. Proposal =========== In R428 (in 15-007), replace with . Define the effects of this change. 3. Edits ======== [xviii, Introduction, under "Data usage and computation"] Insert list item "-- Where a type is extended, values of type parameters of the parent type may be specified; these parameters are then not parameters of the extension type." [64:6 R428] Replace "" with "". [64:11 C433] Replace the constraint: "C433 (R428) The in shall be the name of an accessible extensible type (4.5.7)." [64:11+ C433+] Insert a constraint: "C433a (R428) Every within shall be specified by a constant expression." [79:23- 4.5.7.1p3-] Insert a paragraph: "If appears within in the EXTENDS , it specifies values for the specified type parameters of the parent type. Those parameters of the parent type are not parameters of the extension type."