#include <iostream>
struct wtf
{
wtf(){ n= 42; std::cout<< "ctor!\n"; }
wtf(wtf const &)= delete;//{ std::cout<< "copy!\n"; }
wtf(wtf &&){ std::cout<< "move ctor!\n"; }
//wtf &&operator= (wtf &&){ std::cout<< "move assign!\n"; }
void f(){ std::cout<< "f()= "<< n<< '\n'; }
int n;
};
wtf omg()
{
wtf it;
return it;
}
int main()
{
wtf lol= omg();
lol.f();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IHd0Zgp7CiAgd3RmKCl7IG49IDQyOyBzdGQ6OmNvdXQ8PCAiY3RvciFcbiI7IH0KICB3dGYod3RmIGNvbnN0ICYpPSBkZWxldGU7Ly97IHN0ZDo6Y291dDw8ICJjb3B5IVxuIjsgfQogIHd0Zih3dGYgJiYpeyBzdGQ6OmNvdXQ8PCAibW92ZSBjdG9yIVxuIjsgfQogIC8vd3RmICYmb3BlcmF0b3I9ICh3dGYgJiYpeyBzdGQ6OmNvdXQ8PCAibW92ZSBhc3NpZ24hXG4iOyB9CiAgdm9pZCBmKCl7IHN0ZDo6Y291dDw8ICJmKCk9ICI8PCBuPDwgJ1xuJzsgfQogIGludCBuOwp9OwoKd3RmIG9tZygpCnsKICB3dGYgaXQ7CiAgcmV0dXJuIGl0Owp9CgppbnQgbWFpbigpCnsKICB3dGYgbG9sPSBvbWcoKTsKICBsb2wuZigpOwp9