From fb973b01e1abb7c1ef40900d510664c34d94992e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com>
Date: Thu, 30 Jun 2022 09:36:26 +0200
Subject: [PATCH] Change stringify utility to avoid a compiler bug in GitLab/CI

This is strange, I cannot reproduce this compilation issue using
various installations of clang-10 ...
---
 .../node_processor/AffectationProcessor.hpp   | 24 +++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/src/language/node_processor/AffectationProcessor.hpp b/src/language/node_processor/AffectationProcessor.hpp
index 4fc2bc90b..3a354f2a4 100644
--- a/src/language/node_processor/AffectationProcessor.hpp
+++ b/src/language/node_processor/AffectationProcessor.hpp
@@ -98,7 +98,11 @@ class AffectationExecutor final : public IAffectationExecutor
     if constexpr (m_is_defined) {
       auto stringify = [](auto&& value) {
         std::ostringstream os;
-        os << std::boolalpha << value;
+        if constexpr (std::is_same_v<std::decay_t<decltype(value)>, bool>) {
+          os << std::boolalpha << value;
+        } else {
+          os << value;
+        }
         return os.str();
       };
 
@@ -445,7 +449,11 @@ class AffectationToTupleProcessor final : public AffectationToDataVariantProcess
   {
     auto stringify = [](auto&& value) {
       std::ostringstream os;
-      os << std::boolalpha << value;
+      if constexpr (std::is_same_v<std::decay_t<decltype(value)>, bool>) {
+        os << std::boolalpha << value;
+      } else {
+        os << value;
+      }
       return os.str();
     };
 
@@ -500,7 +508,11 @@ class AffectationToTupleFromListProcessor final : public AffectationToDataVarian
   {
     auto stringify = [](auto&& value) {
       std::ostringstream os;
-      os << std::boolalpha << value;
+      if constexpr (std::is_same_v<std::decay_t<decltype(value)>, bool>) {
+        os << std::boolalpha << value;
+      } else {
+        os << value;
+      }
       return os.str();
     };
 
@@ -563,7 +575,11 @@ class AffectationToTupleFromListProcessor final : public AffectationToDataVarian
   {
     auto stringify = [](auto&& value) {
       std::ostringstream os;
-      os << std::boolalpha << value;
+      if constexpr (std::is_same_v<std::decay_t<decltype(value)>, bool>) {
+        os << std::boolalpha << value;
+      } else {
+        os << value;
+      }
       return os.str();
     };
 
-- 
GitLab