Skip to content

Commit 528cac5

Browse files
committed
[libc++][NFC] Cleanup is_implicit_life_time test
Removed unsupported compilers and simplified the test a bit.
1 parent ef46f8a commit 528cac5

File tree

1 file changed

+6
-13
lines changed

1 file changed

+6
-13
lines changed

libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20
9+
// REQUIRES: std-at-least-c++23
1010

1111
// These compilers don't support __builtin_is_implicit_lifetime yet.
12-
// UNSUPPORTED: clang-19, gcc-14, gcc-15, apple-clang-16, apple-clang-17
12+
// UNSUPPORTED: clang-19, gcc-15
1313

1414
// <type_traits>
1515

@@ -139,13 +139,6 @@ constexpr void test_is_implicit_lifetime() {
139139
test_is_implicit_lifetime<T[94], true>();
140140
}
141141

142-
struct ArithmeticTypesTest {
143-
template <class T>
144-
constexpr void operator()() {
145-
test_is_implicit_lifetime<T>();
146-
}
147-
};
148-
149142
constexpr bool test() {
150143
// Standard fundamental C++ types
151144

@@ -155,7 +148,7 @@ constexpr bool test() {
155148
test_is_implicit_lifetime<const void, false>();
156149
test_is_implicit_lifetime<volatile void, false>();
157150

158-
types::for_each(types::arithmetic_types(), ArithmeticTypesTest{});
151+
types::for_each(types::arithmetic_types(), []<typename T> { test_is_implicit_lifetime<T>(); });
159152

160153
test_is_implicit_lifetime<Enum>();
161154
test_is_implicit_lifetime<SignedEnum>();
@@ -166,7 +159,7 @@ constexpr bool test() {
166159
test_is_implicit_lifetime<UnsignedEnumClass>();
167160

168161
test_is_implicit_lifetime<void(), false>();
169-
test_is_implicit_lifetime<void()&, false>();
162+
test_is_implicit_lifetime<void() &, false>();
170163
test_is_implicit_lifetime<void() const, false>();
171164
test_is_implicit_lifetime<void (&)(), false>();
172165
test_is_implicit_lifetime<void (*)(), true>();
@@ -177,8 +170,8 @@ constexpr bool test() {
177170
test_is_implicit_lifetime<int EmptyStruct::*, true>(); // Pointer-to-member
178171
test_is_implicit_lifetime<int (EmptyStruct::*)(), true>();
179172
test_is_implicit_lifetime<int (EmptyStruct::*)() const, true>();
180-
test_is_implicit_lifetime<int (EmptyStruct::*)()&, true>();
181-
test_is_implicit_lifetime<int (EmptyStruct::*)()&&, true>();
173+
test_is_implicit_lifetime<int (EmptyStruct::*)() &, true>();
174+
test_is_implicit_lifetime<int (EmptyStruct::*)() &&, true>();
182175

183176
test_is_implicit_lifetime<IncompleteStruct[], true>();
184177
test_is_implicit_lifetime<IncompleteStruct[82], true>();

0 commit comments

Comments
 (0)