#include <iostream>
struct X
{
explicit operator bool() const { return true; }
~X() { std::cout << "X destroyed\n"; }
};
X f() { return {}; }
int main()
{
if (f()) { std::cout << "Inside if block\n"; }
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IFgKewoJZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KCX5YKCkgeyBzdGQ6OmNvdXQgPDwgIlggZGVzdHJveWVkXG4iOyB9Cn07CgpYIGYoKSB7IHJldHVybiB7fTsgfQoKaW50IG1haW4oKQp7CglpZiAoZigpKSB7IHN0ZDo6Y291dCA8PCAiSW5zaWRlIGlmIGJsb2NrXG4iOyB9Cn0=