Created on 2013-03-03.00:00:00 last changed 106 months ago
[Moved to DR at the November, 2014 meeting.]
Proposed resolution (June, 2014):
This issue is resolved by the resolution of issue 1467.
According to bullet 1 of 12.2.4.2.6 [over.ics.list] paragraph 6,
Otherwise, if the parameter type is not a class:
if the initializer list has one element, the implicit conversion sequence is the one required to convert the element to the parameter type;
...
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}});
}
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2017-02-06 00:00:00 | admin | set | status: drwp -> cd4 |
| 2015-05-25 00:00:00 | admin | set | status: dr -> drwp |
| 2015-04-13 00:00:00 | admin | set | messages: + msg5405 |
| 2014-11-24 00:00:00 | admin | set | status: ready -> dr |
| 2014-07-07 00:00:00 | admin | set | status: drafting -> ready |
| 2014-03-03 00:00:00 | admin | set | messages: + msg4891 |
| 2013-05-03 00:00:00 | admin | set | status: open -> drafting |
| 2013-03-03 00:00:00 | admin | create | |