mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-23 09:07:26 +02:00
Prevent use of conversion ctor for copy purpose.
Some compilers elect conversion ctor for copy purpose in implicitly defined copy ctor with derived class.
This commit is contained in:
@ -23,6 +23,7 @@
|
||||
#include <boost/fusion/container/list/detail/value_at_impl.hpp>
|
||||
#include <boost/fusion/container/list/detail/empty_impl.hpp>
|
||||
#include <boost/type_traits/is_convertible.hpp>
|
||||
#include <boost/type_traits/is_base_of.hpp>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/fusion/support/sequence_base.hpp>
|
||||
#include <boost/fusion/support/is_sequence.hpp>
|
||||
@ -79,6 +80,7 @@ namespace boost { namespace fusion
|
||||
, typename boost::enable_if<
|
||||
mpl::and_<
|
||||
traits::is_sequence<Sequence>
|
||||
, mpl::not_<is_base_of<cons, Sequence> >
|
||||
, mpl::not_<is_convertible<Sequence, Car> > > // use copy to car instead
|
||||
>::type* /*dummy*/ = 0
|
||||
)
|
||||
|
Reference in New Issue
Block a user