Skip to content

Commit 3f143a1

Browse files
committed
[libcxx] updates regular_invocable test to actually test regular_invocable
The test wasn't previously testing this concept, but its base. Differential Revision: https://reviews.llvm.org/D99306
1 parent 20b4f48 commit 3f143a1

File tree

2 files changed

+17
-13
lines changed

2 files changed

+17
-13
lines changed

libcxx/test/std/concepts/callable/invocable.compile.pass.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@
2020

2121
#include "functions.h"
2222

23+
// clang-format off
2324
template <class F, class... Args>
24-
requires std::invocable<F, Args...> constexpr void
25-
ModelsInvocable(F, Args&&...) noexcept{};
25+
requires std::invocable<F, Args...>
26+
constexpr void ModelsInvocable(F, Args&&...) noexcept{}
2627

2728
template <class F, class... Args>
28-
requires(!std::invocable<F, Args...>) constexpr
29-
void NotInvocable(F, Args&&...) noexcept {}
29+
requires(!std::invocable<F, Args...>)
30+
constexpr void NotInvocable(F, Args&&...) noexcept {}
31+
// clang-format on
3032

3133
static_assert(!std::invocable<void>);
3234
static_assert(!std::invocable<void*>);

libcxx/test/std/concepts/callable/regularinvocable.compile.pass.cpp

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,21 @@
1919

2020
#include "functions.h"
2121

22+
// clang-format off
2223
template <class F, class... Args>
23-
requires std::invocable<F, Args...> constexpr void
24-
ModelsRegularInvocable(F, Args&&...) noexcept{};
24+
requires std::regular_invocable<F, Args...>
25+
constexpr void ModelsRegularInvocable(F, Args&&...) noexcept {}
2526

2627
template <class F, class... Args>
27-
requires(!std::invocable<F, Args...>) constexpr
28-
void NotRegularInvocable(F, Args&&...) noexcept {}
28+
requires (!std::regular_invocable<F, Args...>)
29+
constexpr void NotRegularInvocable(F, Args&&...) noexcept {}
30+
// clang-format on
2931

30-
static_assert(!std::invocable<void>);
31-
static_assert(!std::invocable<void*>);
32-
static_assert(!std::invocable<int>);
33-
static_assert(!std::invocable<int&>);
34-
static_assert(!std::invocable<int&&>);
32+
static_assert(!std::regular_invocable<void>);
33+
static_assert(!std::regular_invocable<void*>);
34+
static_assert(!std::regular_invocable<int>);
35+
static_assert(!std::regular_invocable<int&>);
36+
static_assert(!std::regular_invocable<int&&>);
3537

3638
int main(int, char**) {
3739
{

0 commit comments

Comments
 (0)