Version 1.1 of ai12s/ai12-0133-1.txt

Unformatted version of ai12s/ai12-0133-1.txt version 1.1
Other versions for file ai12s/ai12-0133-1.txt

!standard 7.3.2(10.3/3)          14-10-09 AI05-0132-1/01
!class binding interpretation 14-10-09
!status work item 14-10-09
!status received 14-08-28
!priority Low
!difficulty Easy
!qualifier Clarification
!subject Type invariants and default initialized objects
!summary
Type invariants are checked on all objects of the type that are initialized by default.
!question
7.3.2(10/3) talks of "default initialization" which isn't obviously defined (it's not in the index of the Standard). Was "initialized by default" intended? (Yes?)
!recommendation
(See Summary.)
!wording
Modify 7.3.2(10/3):
After successful [default] initialization of an object of type T that{ is initialized by default (see 3.3.1)}, the check is performed on the new object;
!discussion
The term "default initialization" is not defined. It makes more sense to to use a defined term.
Note that this assumes that the rule was intended to apply to all objects initialized by default (including <> components of aggregates, components of larger objects, stand-alone objects, etc.). If the rule was only intended to apply to object declarations, then it needs rewording.
The author has some concern about the ordering rules that get dragged along with "initialized by default". However, those aren't a problem here, because this wording only applies "after initialization", and all of the ordering issues will have been sorted out first.
!ASIS
No ASIS effect.
!ACATS test
This should be tested in the ACATS test that checks that 7.3.2(10/3) is implemented; a separate test is not needed.
!appendix

****************************************************************

Questions? Ask the ACAA Technical Agent