#include <iostream>
class A {
public:
A () {}
template<typename...tTypes> A (tTypes...pArgs) {
std::cout << __PRETTY_FUNCTION__ << std::endl;
}
};
class B {
public:
operator A () const {
std::cout << __PRETTY_FUNCTION__ << std::endl;
return A();
}
};
int main() {
B b;
A a = b;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgQSB7CnB1YmxpYzoKCUEgKCkge30KCQoJdGVtcGxhdGU8dHlwZW5hbWUuLi50VHlwZXM+IEEgKHRUeXBlcy4uLnBBcmdzKSB7CgkJc3RkOjpjb3V0IDw8IF9fUFJFVFRZX0ZVTkNUSU9OX18gPDwgc3RkOjplbmRsOwoJfQp9OwoKY2xhc3MgQiB7CnB1YmxpYzoKCW9wZXJhdG9yIEEgKCkgY29uc3QgewoJCXN0ZDo6Y291dCA8PCBfX1BSRVRUWV9GVU5DVElPTl9fIDw8IHN0ZDo6ZW5kbDsKCQlyZXR1cm4gQSgpOwoJfQp9OwoKaW50IG1haW4oKSB7CglCIGI7CglBIGEgPSBiOwp9