From db05400a8f278baf5cf734739c273670e2f9f198 Mon Sep 17 00:00:00 2001 From: Roland Reichwein Date: Fri, 24 Apr 2026 09:33:46 +0200 Subject: [PATCH] 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. --- 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 31cdce5f..b18e0a66 100644 --- a/include/etl/tuple.h +++ b/include/etl/tuple.h @@ -39,6 +39,7 @@ SOFTWARE. #if ETL_USING_STL #include + #include #endif #include "functional.h" @@ -1183,7 +1184,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;