// { dg-do compile { target c++11 } } // { dg-require-gthreads "" } // PR libstdc++/106695 // Explicit copy constructor does not work for a parameter passed via std::async #include <thread> struct A { A() = default; explicit A(const A&) = default; }; void func(const A&) { } void test_thread() { std::thread t(func, A{}); t.join(); }