Proposed resolution (November, 2009): Change 9.5.2 [dcl.init.aggr] paragraph 1 as follows:
An aggregate is an array or a class (Clause 11 [class]) with no user-provided constructors (11.4.5 [class.ctor]), no brace-or-equal-initializers for
non-static data members (11.4 [class.mem]), no
private or protected non-static data members (11.8 [class.access]), no base classes (11.7 [class.derived]),
and no virtual functions (11.7.3 [class.virtual]).
The current wording of 9.5.2 [dcl.init.aggr] paragraph 1
does not consider brace-or-equal-initializers on members
as affecting whether a class type is an aggregate or not.
Because in-class member initializers are essentially syntactic
sugar for mem-initializers, and the presence of a
user-provided constructor disqualifies a class from being an
aggregate, presumably the same should hold true of member
initializers.