#include <functional>
#include <utility>
#include <memory>
void f(std::unique_ptr<int>& i){}
int main(){
std::unique_ptr<int> p;
auto x = std::bind(f, std::move(p));
x();
}
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDx1dGlsaXR5PgojaW5jbHVkZSA8bWVtb3J5PgoKdm9pZCBmKHN0ZDo6dW5pcXVlX3B0cjxpbnQ+JiBpKXt9CgppbnQgbWFpbigpewogIHN0ZDo6dW5pcXVlX3B0cjxpbnQ+IHA7CiAgYXV0byB4ID0gc3RkOjpiaW5kKGYsIHN0ZDo6bW92ZShwKSk7CiAgeCgpOwp9
In file included from /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/functional:56:0,
from prog.cpp:1:
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unique_ptr.h: In constructor 'std::_Head_base<_Idx, _Head, false>::_Head_base(const _Head&) [with unsigned int _Idx = 0u, _Head = std::unique_ptr<int>]':
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tuple:164:57: instantiated from 'std::_Tuple_impl<_Idx, _Head, _Tail ...>::_Tuple_impl(const std::_Tuple_impl<_Idx, _Head, _Tail ...>&) [with unsigned int _Idx = 0u, _Head = std::unique_ptr<int>, _Tail = {}, std::_Tuple_impl<_Idx, _Head, _Tail ...> = std::_Tuple_impl<0u, std::unique_ptr<int> >]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tuple:242:56: instantiated from 'std::tuple<_Elements>::tuple(const std::tuple<_Elements>&) [with _Elements = {std::unique_ptr<int>}, std::tuple<_Elements> = std::tuple<std::unique_ptr<int> >]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/functional:1096:12: instantiated from here
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unique_ptr.h:207:7: error: deleted function 'std::unique_ptr<_Tp, _Tp_Deleter>::unique_ptr(const std::unique_ptr<_Tp, _Tp_Deleter>&) [with _Tp = int, _Tp_Deleter = std::default_delete<int>, std::unique_ptr<_Tp, _Tp_Deleter> = std::unique_ptr<int>]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tuple:90:25: error: used here