This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 112e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
[Voted into the WP at the February, 2012 meeting; moved to DR at the October, 2012 meeting.]
The rules regarding class scope and when the class is considered to be complete (normally implemented by deferred parsing of portions of class member declarations) are inconsistent and need to be clarified.
Proposed resolution (August, 2011):
Change 6.4.7 [basic.scope.class] paragraph 1 as follows:
Change 6.5.3 [basic.lookup.unqual] paragraph 7 as follows:
A name used in the definition of a class X outside of a member function body or nested class definition29 shall be declared in one of the following ways:...
Change 6.5.3 [basic.lookup.unqual] paragraph 8 as follows:
Aname used in the definition of a member function (11.4.2 [class.mfct]) of class Xfollowing the function'sdeclarator-id [Footnote: That is, an unqualified name that occurs, for instance, in a type or default argumentin the parameter-declaration-clause or in the function body. —end footnote] or in the brace-or-equal-initializer of a non-static data member (11.4 [class.mem]) of class Xshall be declared in one of the following ways:...