diff options
Diffstat (limited to 'asl/base/functional_tests.cpp')
-rw-r--r-- | asl/base/functional_tests.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/asl/base/functional_tests.cpp b/asl/base/functional_tests.cpp index 6332784..6645109 100644 --- a/asl/base/functional_tests.cpp +++ b/asl/base/functional_tests.cpp @@ -68,6 +68,9 @@ static_assert(asl::invocable<decltype(&HasMember::member), const HasMember2>); static_assert(asl::invocable<decltype(&HasMember::member), const HasMember&>); static_assert(asl::invocable<decltype(&HasMember::member), const HasMember2*>); +static_assert(asl::invocable_r<void*, int*()>); +static_assert(!asl::invocable_r<int*, void*()>); + ASL_TEST(invoke_member_function) { HasFunction c; @@ -109,3 +112,9 @@ ASL_TEST(invoke_lambda) ASL_TEST_EXPECT(asl::invoke([](){ return 35; }) == 35); ASL_TEST_EXPECT(asl::invoke([](int x){ return x + 2; }, 6) == 8); } + +ASL_TEST(invoke_r) +{ + ASL_TEST_EXPECT(asl::invoke_r<int>([]() { return 1ULL; }) == 1); + asl::invoke_r<void>([]() { return 1ULL; }); +} |