[libcxx-commits] [libcxx] 21af72d - [libc++][NFC] Cleanup is_implicit_life_time test (#164154)

via libcxx-commits libcxx-commits at lists.llvm.org
Sun Oct 19 07:17:36 PDT 2025


Author: Hristo Hristov
Date: 2025-10-19T22:17:33+08:00
New Revision: 21af72d0231c3ef2791c74e2fb4307a4516614c7

URL: https://github.com/llvm/llvm-project/commit/21af72d0231c3ef2791c74e2fb4307a4516614c7
DIFF: https://github.com/llvm/llvm-project/commit/21af72d0231c3ef2791c74e2fb4307a4516614c7.diff

LOG: [libc++][NFC] Cleanup is_implicit_life_time test (#164154)

Removed unsupported compilers and simplified the test a bit.

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
index 881a5d2c6f751..1c9d72ea34974 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
@@ -6,10 +6,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20
+// REQUIRES: std-at-least-c++23
 
 // These compilers don't support __builtin_is_implicit_lifetime yet.
-// UNSUPPORTED: clang-19, gcc-14, gcc-15, apple-clang-16, apple-clang-17
+// UNSUPPORTED: clang-19, gcc-15, apple-clang-17
 
 // <type_traits>
 
@@ -139,13 +139,6 @@ constexpr void test_is_implicit_lifetime() {
   test_is_implicit_lifetime<T[94], true>();
 }
 
-struct ArithmeticTypesTest {
-  template <class T>
-  constexpr void operator()() {
-    test_is_implicit_lifetime<T>();
-  }
-};
-
 constexpr bool test() {
   // Standard fundamental C++ types
 
@@ -155,7 +148,7 @@ constexpr bool test() {
   test_is_implicit_lifetime<const void, false>();
   test_is_implicit_lifetime<volatile void, false>();
 
-  types::for_each(types::arithmetic_types(), ArithmeticTypesTest{});
+  types::for_each(types::arithmetic_types(), []<typename T> { test_is_implicit_lifetime<T>(); });
 
   test_is_implicit_lifetime<Enum>();
   test_is_implicit_lifetime<SignedEnum>();


        


More information about the libcxx-commits mailing list