#include <iostream>
#include <functional>
struct A {
// Declare destructor to delete default move constructor
~A() {}
int a = 0;
};
void func(const A&)
{
std::cout << "OK!" << std::endl;
}
int main() {
A a;
auto f = std::bind(&func, a);
f();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KCnN0cnVjdCBBIHsKCS8vIERlY2xhcmUgZGVzdHJ1Y3RvciB0byBkZWxldGUgZGVmYXVsdCBtb3ZlIGNvbnN0cnVjdG9yCgl+QSgpIHt9CgogICAgaW50IGEgPSAwOwp9OwoKdm9pZCBmdW5jKGNvbnN0IEEmKQp7CiAgICBzdGQ6OmNvdXQgPDwgIk9LISIgPDwgc3RkOjplbmRsOwp9CgppbnQgbWFpbigpIHsKCUEgYTsKCWF1dG8gZiA9IHN0ZDo6YmluZCgmZnVuYywgYSk7CglmKCk7Cn0=