|
@@ -18,13 +18,13 @@
|
|
|
#include <future>
|
|
|
#include <cassert>
|
|
|
|
|
|
-void func1(std::promise<int>& p)
|
|
|
+void func1(std::promise<int> p)
|
|
|
{
|
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
|
|
p.set_value(3);
|
|
|
}
|
|
|
|
|
|
-void func2(std::promise<int>& p)
|
|
|
+void func2(std::promise<int> p)
|
|
|
{
|
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
|
|
p.set_exception(std::make_exception_ptr(3));
|
|
@@ -32,26 +32,26 @@ void func2(std::promise<int>& p)
|
|
|
|
|
|
int j = 0;
|
|
|
|
|
|
-void func3(std::promise<int&>& p)
|
|
|
+void func3(std::promise<int&> p)
|
|
|
{
|
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
|
|
j = 5;
|
|
|
p.set_value(j);
|
|
|
}
|
|
|
|
|
|
-void func4(std::promise<int&>& p)
|
|
|
+void func4(std::promise<int&> p)
|
|
|
{
|
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
|
|
p.set_exception(std::make_exception_ptr(3.5));
|
|
|
}
|
|
|
|
|
|
-void func5(std::promise<void>& p)
|
|
|
+void func5(std::promise<void> p)
|
|
|
{
|
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
|
|
p.set_value();
|
|
|
}
|
|
|
|
|
|
-void func6(std::promise<void>& p)
|
|
|
+void func6(std::promise<void> p)
|
|
|
{
|
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
|
|
p.set_exception(std::make_exception_ptr('c'));
|