From b033824342b3e6886d125771c9ef53cf4d17777a Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Fri, 15 Jan 2016 21:29:39 +0100 Subject: [PATCH] fix spurious include ...which causes problems when a preceding include has already dragged in the actual problem is the std::hash hack, which probably is even no longer possible and could be removed (but I don't have the time to investigate this somewhat tricky topic right now) To prevent this confusing situation, I'm adding the include of "lib/symbol.hpp", to ensure we do have the actual definitions of string and Literal, which trait.hpp just declares forward. An note, lib/symbol.hpp also includes hash-standard.hpp first, so we avoid triggering problematic situation from a header (format-cout.hpp), which is pervasively used all over the place.... --- src/lib/format-obj.hpp | 2 +- src/lib/format-util.hpp | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/format-obj.hpp b/src/lib/format-obj.hpp index 9e5c803dc..e0772ea6f 100644 --- a/src/lib/format-obj.hpp +++ b/src/lib/format-obj.hpp @@ -46,7 +46,7 @@ #ifndef LIB_FORMAT_OBJ_H #define LIB_FORMAT_OBJ_H -#include +#include "lib/symbol.hpp" #include "lib/meta/trait.hpp" #include diff --git a/src/lib/format-util.hpp b/src/lib/format-util.hpp index 21105d7ca..5af1f0efa 100644 --- a/src/lib/format-util.hpp +++ b/src/lib/format-util.hpp @@ -38,7 +38,6 @@ #ifndef LIB_FORMAT_UTIL_H #define LIB_FORMAT_UTIL_H -#include "lib/hash-standard.hpp" #include "lib/meta/trait.hpp" #include "lib/format-obj.hpp" #include "lib/itertools.hpp"