!standard 3.9.4(18/2) 07-10-24 AI05-0070-1/01 !class binding interpretation 07-10-24 !status ARG Approved 9-0-0 06-11-10 !status work item 07-10-24 !status received 07-10-03 !priority Low !difficulty Easy !qualifier Error !subject Elaboration of interface types !summary The elaboration of an interface type creates the type and its first subtype. !question The dynamic semantics for interface types (3.9.4(18/2)) indicates that the elaboration "has no effect." That seems inconsistent with all other non-incomplete types, which at a minimum say: The elaboration of a _type_definition creates the type and its first subtype... Is there any reason for this inconsistency? (No.) !recommendation (See Summary.) !wording Modify 3.9.4(18/2): The elaboration of an interface_type_definition creates the interface type and its first subtype. AARM Discussion: An interface_list is made up of subtype_marks, which do not need to be elaborated, so an interface_list does not either. This is consistent with the handling of discriminant_parts. That means that the only effect is the creation of the type. !discussion It's possible that types are created at runtime (although this is rare). !corrigendum 3.9.4(18/2) @drepl The elaboration of an @fa has no effect. @dby The elaboration of an @fa creates the interface type and its first subtype. !ACATS Test An ACATS test is not needed, as there still is no runtime effect here, !appendix From: Tucker Taft Sent: Wednesday, October 3, 2007 9:47 AM The dynamic semantics for interface types (3.9.4(18/2)) indicates that the elaboration "has no effect." That seems inconsistent with all other non-incomplete types, which at a minimum say: The elaboration of a _type_definition creates the type and its first subtype... The AARM note indicates that there is no particular work to be done at run-time since the subtype_marks don't require dynamic elaboration. Be that as it may, at least formally we think of the "creation" of a type as something that happens dynamically. **************************************************************** From: Robert Dewar Sent: Wednesday, October 3, 2007 3:19 PM In the SETL version it really *did* happen dynamically :-) ****************************************************************