#include <memory>
#include <future>
#include <thread>

using namespace std;

unique_ptr<int> uq(new int);
void foo(unique_ptr<int> q)
{}

int main()
{
    foo(move(uq));    // OK.
    async(foo, move(uq));  // Error: error C2248: 'std::unique_ptr<_Ty>::unique_ptr' : cannot access private member declared in class 'std::unique_ptr<_Ty>'
    return 0;
}
