return oldvalue;
}
};
+
+template <typename Ret, typename... Args>
+void deduceArgs(Function<Ret(Args...)>) {}
+
} // namespace
// TEST =====================================================================
f = std::move(g);
EXPECT_TRUE(f);
}
+
+TEST(Function, DeducableArguments) {
+ deduceArgs(Function<void()>{[] {}});
+ deduceArgs(Function<void(int, float)>{[](int, float) {}});
+ deduceArgs(Function<int(int, float)>{[](int i, float) { return i; }});
+}