From fe7b2da10cabfad4aa2f0808b36fc6c60224301b Mon Sep 17 00:00:00 2001 From: Roland Reichwein Date: Tue, 28 Apr 2026 11:03:25 +0200 Subject: [PATCH] Fix missing tuple_size (#1407) * Print test names at test time (#1343) * Fix operator| conflict with std::ranges (#1395) * Fix missing tuple_size In case of certain clang versions, a wrong combination of activated and deactivated template forward declarations and specializations were provided. This led to redefinition errors and specialization errors. Now aligning those combinations, and providing definitions from from std in the STL using case. --------- Co-authored-by: John Wellbelove Co-authored-by: John Wellbelove --- include/etl/tuple.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/etl/tuple.h b/include/etl/tuple.h index f76c0a62..0a419374 100644 --- a/include/etl/tuple.h +++ b/include/etl/tuple.h @@ -35,6 +35,7 @@ SOFTWARE. #if ETL_USING_STL #include + #include #endif #include "functional.h" @@ -1179,7 +1180,9 @@ namespace etl namespace std { - #if ETL_NOT_USING_STL && !((defined(ETL_DEVELOPMENT_OS_APPLE) || (ETL_COMPILER_FULL_VERSION >= 190000)) && defined(ETL_COMPILER_CLANG)) + #if ETL_NOT_USING_STL \ + && !((defined(ETL_DEVELOPMENT_OS_APPLE) || (ETL_COMPILER_FULL_VERSION >= 190000) && (ETL_COMPILER_FULL_VERSION < 220000)) \ + && defined(ETL_COMPILER_CLANG)) template struct tuple_size;