#include <iostream>
struct foo
{
int i {-1};
foo() = default;
foo(foo const &) = delete;
foo(foo &&) = default;
};
void do_const(foo const obj)
{
std::cout << obj.i << std::endl;
}
int main()
{
foo f{};
do_const(std::move(f));
return (0);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgogCnN0cnVjdCBmb28KewogaW50IGkgey0xfTsKIGZvbygpID0gZGVmYXVsdDsKIGZvbyhmb28gY29uc3QgJikgPSBkZWxldGU7CiBmb28oZm9vICYmKSA9IGRlZmF1bHQ7Cn07IAogCnZvaWQgZG9fY29uc3QoZm9vIGNvbnN0IG9iaikKewogc3RkOjpjb3V0IDw8IG9iai5pIDw8IHN0ZDo6ZW5kbDsgCn0KIAppbnQgbWFpbigpCnsKIGZvbyBme307CiAKIGRvX2NvbnN0KHN0ZDo6bW92ZShmKSk7CiAKIHJldHVybiAoMCk7Cn0K