This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 112c. See for the official list.


1631. Incorrect overload resolution for single-element initializer-list

Section:  [over.ics.list]     Status: CD4     Submitter: Johannes Schaub     Date: 2013-03-03

[Moved to DR at the November, 2014 meeting.]

According to bullet 1 of [over.ics.list] paragraph 6,

Otherwise, if the parameter type is not a class:

This wording ignores the possibility that the element might be an initializer list (as opposed to an expression with a type, as illustrated in the example). This oversight affects an example like:

  struct A { int a[1]; };
  struct B { B(int); };
  void f(B, int);
  void f(int, A);

  int main() {
    f({0}, {{1}});

Proposed resolution (June, 2014):

This issue is resolved by the resolution of issue 1467.