id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 8714,Allow move-only handlers,Marton ,chris_kohlhoff,"(See also http://stackoverflow.com/questions/17211263) The requirement that handlers be copy constructible doesn't allow for the following idiom: {{{ void connection::send_response() { // block until previous response is sent std::unique_lock locker(response_mutex_); // prepare response response_ = ""foo""; // send response back to caller. move the unique_lock into the binder // to keep the mutex locked until asio is done sending. asio::async_write(stream_, asio::const_buffers_1(response_.data(), response_.size()), std::bind(&connection::response_sent, shared_from_this(), _1, _2, std::move(locker)) ); } void connection::response_sent(const boost::system::error_code& err, std::size_t len) { if (err) handle_error(err); // the mutex is unlocked when the binder is destroyed } }}} Please remove this restriction, there is no reason for it when using C++11.",Feature Requests,new,To Be Determined,asio,Boost 1.53.0,Problem,,,