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(); }