#include "initializer_list"
struct X
{
X & operator =(std::initializer_list<int> const &) { return *this; }
X & operator +=(std::initializer_list<int> const &) { return *this; }
};
struct Y
{
Y() {}
Y(int, double, char const *) {}
};
int main()
{
X x;
x = { 1, 2, 3, 4 };
x += { 5, 6, 7 };
Y y;
y = { 8, 9.0, "10" };
return 0;
}
I2luY2x1ZGUgImluaXRpYWxpemVyX2xpc3QiCgpzdHJ1Y3QgWAp7CiAgICBYICYgb3BlcmF0b3IgPShzdGQ6OmluaXRpYWxpemVyX2xpc3Q8aW50PiBjb25zdCAmKSB7IHJldHVybiAqdGhpczsgfQoJWCAmIG9wZXJhdG9yICs9KHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxpbnQ+IGNvbnN0ICYpIHsgcmV0dXJuICp0aGlzOyB9Cn07CgpzdHJ1Y3QgWQp7CglZKCkge30KCVkoaW50LCBkb3VibGUsIGNoYXIgY29uc3QgKikge30KfTsKCmludCBtYWluKCkKewoJWCB4OwoJeCA9IHsgMSwgMiwgMywgNCB9OwoJeCArPSB7IDUsIDYsIDcgfTsKCglZIHk7Cgl5ID0geyA4LCA5LjAsICIxMCIgfTsKCXJldHVybiAwOwp9Cg==