07-192 To: J3 From: Van Snyder Subject: Comments on Clause 16 Date: 2007 April 23 1 Edits Edits refer to07-007r1. Page and line numbers are displayed in the margin. Absent other instructions, a page and line number or line number range implies all of the indicated text is to be replaced by associated text, while a page and line number followed by + (-) indicates that associated text is to be inserted after (before) the indicated line. Remarks are noted in the margin, or appear between [ and ] in the text. [477:24-478:6] ----------------------------------------------------------- [The first three paragraphs of 16.3.4 appear to prevent using component names, type parameter names or binding names for anything other than those three purposes. They could even be construed to prohibit using them for the same purpose in a different type. Editor: Replace them by the following:] A component name (4.5.4) has the scope of its derived-type definition. Outside the derived-type defini- tion, where that name appears as a in a in which the previous is an ob ject of that derived type, or as a component keyword in a structure constructor for that derived type, it identifies that component; otherwise, it identifies a different entity. A type parameter (4.5.3) name has the scope of its derived-type definition. Outside the derived-type definition, where that name appears as a type parameter keyword in a for that type or as the of a for an ob ject of that derived type, it identifies that type parameter; otherwise, it identifies a different entity. A binding name (4.5.5) of a type-bound procedure has the scope of its derived-type definition. Out- side the derived-type definition, where that name appears as the in a in which the is an ob ject of that derived type, it identifies that binding; other- wise, it identifies a different entity.