From 38ab48b1882f36ed7eb7e50c4fb46ce5d376fbc3 Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Wed, 26 Feb 2025 20:01:45 +0100 Subject: Fix some deducing-this & functional stuff, add invocable concept --- asl/base/functional_tests.cpp | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'asl/base/functional_tests.cpp') diff --git a/asl/base/functional_tests.cpp b/asl/base/functional_tests.cpp index 92c5c7b..991c3c1 100644 --- a/asl/base/functional_tests.cpp +++ b/asl/base/functional_tests.cpp @@ -24,11 +24,25 @@ static int some_func1(int x) { return x + 1; } [[maybe_unused]] static float some_func1(float x) { return x + 1; } static int some_func2(int x, int b) { return x + b; } -static_assert(asl::same_as, int64_t>); -static_assert(asl::same_as, int>); -static_assert(asl::same_as(some_func1))(float)>, float>); -static_assert(asl::same_as, void>); -static_assert(asl::same_as, int>); +static_assert(asl::same_as, int>); +static_assert(asl::same_as, int>); +static_assert(asl::same_as, int64_t>); +static_assert(asl::same_as, int>); +static_assert(asl::same_as(some_func1)), float>, float>); +static_assert(asl::same_as, void>); +static_assert(asl::same_as, const int&>); + +static_assert(asl::invocable); +static_assert(!asl::invocable); +static_assert(asl::invocable); +static_assert(!asl::invocable); +static_assert(asl::invocable); +static_assert(asl::invocable); +static_assert(!asl::invocable); +static_assert(asl::invocable(some_func1)), float>); +static_assert(asl::invocable); +static_assert(!asl::invocable); +static_assert(asl::invocable); ASL_TEST(invoke_member_function) { -- cgit