Skip to content

Commit 1b24aeb

Browse files
committed
Prefer parameter list in requires-expression to avoid declval
1 parent ffdda72 commit 1b24aeb

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,16 @@
2626

2727
template <typename T, typename U>
2828
concept has_compare_exchange_strong_1 =
29-
requires { std::declval<T>().compare_exchange_strong(std::declval<U&>(), std::declval<U>()); };
29+
requires(T const& x, U& expected, U desired) { x.compare_exchange_strong(expected, desired); };
3030
template <typename T, typename U>
31-
concept has_compare_exchange_strong_2 = requires {
32-
std::declval<T>().compare_exchange_strong(std::declval<U&>(), std::declval<U>(), std::declval<std::memory_order>());
31+
concept has_compare_exchange_strong_2 = requires(T const& x, U& expected, U desired, std::memory_order order) {
32+
x.compare_exchange_strong(expected, desired, order);
3333
};
3434
template <typename T, typename U>
35-
concept has_compare_exchange_strong_3 = requires {
36-
std::declval<T>().compare_exchange_strong(
37-
std::declval<U&>(), std::declval<U>(), std::declval<std::memory_order>(), std::declval<std::memory_order>());
38-
};
35+
concept has_compare_exchange_strong_3 =
36+
requires(T const& x, U& expected, U desired, std::memory_order success, std::memory_order failure) {
37+
x.compare_exchange_strong(expected, desired, success, failure);
38+
};
3939

4040
template <typename T, typename U>
4141
concept has_compare_exchange_strong =

libcxx/test/std/atomics/atomics.ref/store.pass.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
#include "test_macros.h"
2121

2222
template <typename T, typename U>
23-
concept has_store = requires { std::declval<T>().store(std::declval<U>()); };
23+
concept has_store = requires(T const& x, U v) { x.store(v); };
2424

2525
template <typename U>
2626
struct TestStore {

0 commit comments

Comments
 (0)