struct Foo
{
explicit Foo(int a):m(a){}
int padd1, m, padd2;
};
void Bar(Foo){}
int main()
{
//Bar(11); // OK, gives error
auto x = static_cast<Foo>(37);
x.m;
}
ICAgIHN0cnVjdCBGb28KICAgIHsKICAgIAlleHBsaWNpdCBGb28oaW50IGEpOm0oYSl7fQogICAgCWludCBwYWRkMSwgbSwgcGFkZDI7CiAgICB9OwogICAgCiAgICB2b2lkIEJhcihGb28pe30KICAgIAogICAgaW50IG1haW4oKQogICAgewogICAgCS8vQmFyKDExKTsgLy8gT0ssIGdpdmVzIGVycm9yCiAgICAJYXV0byB4ID0gc3RhdGljX2Nhc3Q8Rm9vPigzNyk7CiAgICAJeC5tOwogICAgfQ==