!standard 13.12 04-02-05 AI95-00372/01 !class amendment 03-12-30 !status work item 03-12-30 !status received 03-12-30 !priority Medium !difficulty Medium !subject Restrictions for default stream attributes of elementary types !summary The following restrictions identifiers exist: No_Default_Elementary_Stream_Attributes !problem For elementary types, the representation in terms of stream elements is implementation defined. The only way to ensure interoperability of streams between different implementations is by having user-defined stream attributes for all data exchanged. However, it is easy to inadvertantly use a stream operation for a type that has no user-defined stream attributes, or for a composite type with such a subcomponent. The proposed restriction would make sure that no default implementation of stream attributes for elementary types is used. !proposal We introduce an additional restriction identifier that forbids the use of default stream attributes for elementary types. The following restriction identifier is added: No_Default_Elementary_Stream_Attributes !discussion We cannot forbid all default stream attributes, since the default attributes for composite types are defined to compose from their elements, which does not raise an issue. However, if a composite type has a subcomponent of an elementary type for which their is no user-defined stream attribute, it would be considered a "use" of the default elementary type stream attribute, and therefore forbidden. !wording The following restrictions identifier is language-defined: No_Default_Elementary_Stream_Attributes There are no use of default stream attributes for elementary types. !example !ACATS test B-Tests should be constructed to verify that this restriction is enforced. !appendix ****************************************************************