#include <iostream>
using namespace std;
class Test;
class Int
{
public:
operator Test();
};
class Test
{
public:
Test() {}
//Test(const Int&) { cout << "Test(const Int&)" << endl; }
};
Int::operator Test()
{
cout << "Int::operator Test()" << endl;
return Test{};
}
int main()
{
Int i;
Test t1 = Test(i);
Test t2 = (Test)i;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgVGVzdDsKCmNsYXNzIEludAp7CnB1YmxpYzoKICAgIG9wZXJhdG9yIFRlc3QoKTsKfTsKCmNsYXNzIFRlc3QKewpwdWJsaWM6CiAgICBUZXN0KCkge30KICAgIC8vVGVzdChjb25zdCBJbnQmKSB7IGNvdXQgPDwgIlRlc3QoY29uc3QgSW50JikiIDw8IGVuZGw7IH0KfTsKCkludDo6b3BlcmF0b3IgVGVzdCgpCnsKICAgIGNvdXQgPDwgIkludDo6b3BlcmF0b3IgVGVzdCgpIiA8PCBlbmRsOwogICAgcmV0dXJuIFRlc3R7fTsKfQoKaW50IG1haW4oKQp7CgogICAgSW50IGk7CgogICAgVGVzdCB0MSA9IFRlc3QoaSk7CiAgICBUZXN0IHQyID0gKFRlc3QpaTsKCn0K