#include <iostream>
#include <initializer_list>
struct Foo
{
Foo() : Foo{42} // I would have expected invalid syntax, use Foo({42})
{
std::cout << "Foo()... delegating constructor\n";
}
Foo(std::initializer_list<int>)
{
std::cout << "Foo(initializer_list)\n";
}
};
int main()
{
Foo foo;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW5pdGlhbGl6ZXJfbGlzdD4KCnN0cnVjdCBGb28KewogICAgRm9vKCkgOiBGb297NDJ9IC8vIEkgd291bGQgaGF2ZSBleHBlY3RlZCBpbnZhbGlkIHN5bnRheCwgdXNlIEZvbyh7NDJ9KQogICAgewogICAgICAgIHN0ZDo6Y291dCA8PCAiRm9vKCkuLi4gZGVsZWdhdGluZyBjb25zdHJ1Y3RvclxuIjsKICAgIH0KICAgIEZvbyhzdGQ6OmluaXRpYWxpemVyX2xpc3Q8aW50PikKICAgIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgIkZvbyhpbml0aWFsaXplcl9saXN0KVxuIjsKICAgIH0KfTsKCmludCBtYWluKCkKewogICAgRm9vIGZvbzsKfQ==