From d93e675408f2d4c5744e8830548358478034f4b6 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Tue, 11 Nov 2014 10:23:36 -0500 Subject: [PATCH] Fix hard compilation error with nested fusion::cons. --- include/boost/fusion/container/list/cons.hpp | 6 +----- test/sequence/cons.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/include/boost/fusion/container/list/cons.hpp b/include/boost/fusion/container/list/cons.hpp index 1de7048b..2654e8fb 100644 --- a/include/boost/fusion/container/list/cons.hpp +++ b/include/boost/fusion/container/list/cons.hpp @@ -27,7 +27,6 @@ #include #include #include -#include namespace boost { namespace fusion { @@ -75,10 +74,7 @@ namespace boost { namespace fusion cons( Sequence const& seq , typename boost::disable_if< - mpl::or_< - is_convertible // use copy ctor instead - , is_convertible // use copy to car instead - > + is_convertible // use copy to car instead >::type* /*dummy*/ = 0 ) : car(*fusion::begin(seq)) diff --git a/test/sequence/cons.cpp b/test/sequence/cons.cpp index cb74af61..88a04101 100644 --- a/test/sequence/cons.cpp +++ b/test/sequence/cons.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -83,6 +84,12 @@ main() BOOST_TEST((*begin(tie) == 3)); } + { + // This used to trigger a hard compilation error: + cons > xs; + begin(push_front(xs, 3)); + } + return boost::report_errors(); }