This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 118e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2025-11-05
[Voted into the WP at the March, 2011 meeting as part of paper N3262.]
The current wording makes some calls involving aggregate initialization ambiguous that should not be. For example, the calls below to f and g should each prefer the second overload:
struct A { int i; };
void f (const A &);
void f (A &&);
void g (A, double);
void g (A, int);
int main() {
f ( { 1 } );
g ( { 1 }, 1 );
}
Proposed resolution (August, 2010) [SUPERSEDED]:
Change 12.2.4.3 [over.ics.rank] bullet 3.2 as follows:
User-defined conversion sequence U1 is a better conversion sequence than another user-defined conversion sequence U2 if they contain the same user-defined conversion function or constructor or aggregate initialization and if the second standard conversion sequence of U1 is better than the second standard conversion sequence of U2.