
I'm trying to port an existing program from V9 to VC10. With both Boost head and the 1.43RC I get a lot of errors relating to Phoenix and Fusion, none of which I've been able to recreate with a simple test and the back trace of the error messages are somewhat confusing. However if I the change the two BOOST_WORKAROUND(BOOST_MSVC, <= 1500) to 1600 in /boost/fusion/container/vector/vector.hpp all the problems seem to go away. Perhaps someone who is more knowledge about this could take a look? Thanks, Richard. 4>c:\boost_1_43_0_beta1\boost/fusion/container/vector/detail/vector_n.hpp(68 ): error C2665: 'boost::fusion::vector_data2<Derived,T0,T1>::vector_data2' : none of the 3 overloads could convert all the argument types 4> with 4> [ 4> Derived=boost::fusion::vector2<boost::phoenix::argument<0>,boost::phoenix::v alue<bool (__cdecl property_t::* )(void) const>>, 4> T0=boost::phoenix::argument<0>, 4> T1=boost::phoenix::value<bool (__cdecl property_t::* )(void) const> 4> ] 4> c:\boost_1_43_0_beta1\boost/fusion/container/vector/detail/vector_n.hpp(45): could be 'boost::fusion::vector_data2<Derived,T0,T1>::vector_data2(const boost::phoenix::argument<N> &,const boost::phoenix::value<T> &)' 4> with 4> [ 4> Derived=boost::fusion::vector2<boost::phoenix::argument<0>,boost::phoenix::v alue<bool (__cdecl property_t::* )(void) const>>, 4> T0=boost::phoenix::argument<0>, 4> T1=boost::phoenix::value<bool (__cdecl property_t::* )(void) const>, 4> N=0, 4> T=bool (__cdecl property_t::* )(void) const 4> ] 4> while trying to match the argument list '(const boost::phoenix::composite<EvalPolicy,EvalTuple>, const boost::mpl::void_)' 4> with 4> [ 4> EvalPolicy=boost::phoenix::mem_fun_ptr_eval, 4> EvalTuple=boost::fusion::vector<boost::phoenix::argument<0>,boost::phoenix:: value<bool (__cdecl property_t::* )(void) const>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost: :fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void _,boost::fusion::void_> 4> ] 4> c:\boost_1_43_0_beta1\boost/fusion/container/vector/detail/vector_n.hpp(105) : see reference to function template instantiation 'boost::fusion::vector_data2<Derived,T0,T1> boost::fusion::vector_data2<Derived,T0,T1>::init_from_sequence<Sequence>(con st Sequence &)' being compiled 4> with 4> [ 4> Derived=boost::fusion::vector2<boost::phoenix::argument<0>,boost::phoenix::v alue<bool (__cdecl property_t::* )(void) const>>, 4> T0=boost::phoenix::argument<0>, 4> T1=boost::phoenix::value<bool (__cdecl property_t::* )(void) const>, 4> Sequence=const boost::phoenix::composite<boost::phoenix::logical_not_eval,boost::fusion::ve ctor<boost::phoenix::composite<boost::phoenix::mem_fun_ptr_eval,boost::fusio n::vector<boost::phoenix::argument<0>,boost::phoenix::value<bool (__cdecl property_t::* )(void) const>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost: :fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void _,boost::fusion::void_>>,boost::fusion::void_,boost::fusion::void_,boost::fu sion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,b oost::fusion::void_,boost::fusion::void_,boost::fusion::void_>> 4> ] 4> c:\boost_1_43_0_beta1\boost/fusion/container/vector/vector.hpp(58) : see reference to function template instantiation 'boost::fusion::vector2<T0,T1>::vector2<Sequence>(const Sequence &)' being compiled 4> with 4> [ 4> T0=boost::phoenix::argument<0>, 4> T1=boost::phoenix::value<bool (__cdecl property_t::* )(void) const>, 4> Sequence=const boost::phoenix::composite<boost::phoenix::logical_not_eval,boost::fusion::ve ctor<boost::phoenix::composite<boost::phoenix::mem_fun_ptr_eval,boost::fusio n::vector<boost::phoenix::argument<0>,boost::phoenix::value<bool (__cdecl property_t::* )(void) const>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost: :fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void _,boost::fusion::void_>>,boost::fusion::void_,boost::fusion::void_,boost::fu sion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,b oost::fusion::void_,boost::fusion::void_,boost::fusion::void_>> 4> ] 4> c:\boost_1_43_0_beta1\boost/spirit/home/phoenix/core/composite.hpp(71) : see reference to function template instantiation 'boost::fusion::vector<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::vector<const U0>(const Sequence &)' being compiled 4> with 4> [ 4> T0=boost::phoenix::argument<0>, 4> T1=boost::phoenix::value<bool (__cdecl property_t::* )(void) const>, 4> T2=boost::fusion::void_, 4> T3=boost::fusion::void_, 4> T4=boost::fusion::void_, 4> T5=boost::fusion::void_, 4> T6=boost::fusion::void_, 4> T7=boost::fusion::void_, 4> T8=boost::fusion::void_, 4> T9=boost::fusion::void_, 4> U0=const boost::phoenix::composite<boost::phoenix::logical_not_eval,boost::fusion::ve ctor<boost::phoenix::composite<boost::phoenix::mem_fun_ptr_eval,boost::fusio n::vector<boost::phoenix::argument<0>,boost::phoenix::value<bool (__cdecl property_t::* )(void) const>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost: :fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void _,boost::fusion::void_>>,boost::fusion::void_,boost::fusion::void_,boost::fu sion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,b oost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>, 4> Sequence=const boost::phoenix::composite<boost::phoenix::logical_not_eval,boost::fusion::ve ctor<boost::phoenix::composite<boost::phoenix::mem_fun_ptr_eval,boost::fusio n::vector<boost::phoenix::argument<0>,boost::phoenix::value<bool (__cdecl property_t::* )(void) const>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost: :fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void _,boost::fusion::void_>>,boost::fusion::void_,boost::fusion::void_,boost::fu sion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,b oost::fusion::void_,boost::fusion::void_,boost::fusion::void_>> 4> ] 4> c:\boost_1_43_0_beta1\boost/fusion/container/vector/vector.hpp(58) : see reference to function template instantiation 'boost::phoenix::composite<EvalPolicy,EvalTuple>::composite<const boost::phoenix::composite<boost::phoenix::logical_not_eval,boost::fusion::ve ctor<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>>>(U0 &)' being compiled 4> with 4> [ 4> EvalPolicy=boost::phoenix::mem_fun_ptr_eval, 4> EvalTuple=boost::fusion::vector<boost::phoenix::argument<0>,boost::phoenix:: value<bool (__cdecl property_t::* )(void) const>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost: :fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void _,boost::fusion::void_>, 4> T0=boost::phoenix::composite<boost::phoenix::mem_fun_ptr_eval,boost::fusion: :vector<boost::phoenix::argument<0>,boost::phoenix::value<bool (__cdecl property_t::* )(void) const>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost: :fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void _,boost::fusion::void_>>, 4> T1=boost::fusion::void_, 4> T2=boost::fusion::void_, 4> T3=boost::fusion::void_, 4> T4=boost::fusion::void_, 4> T5=boost::fusion::void_, 4> T6=boost::fusion::void_, 4> T7=boost::fusion::void_, 4> T8=boost::fusion::void_, 4> T9=boost::fusion::void_, 4> U0=const boost::phoenix::composite<boost::phoenix::logical_not_eval,boost::fusion::ve ctor<boost::phoenix::composite<boost::phoenix::mem_fun_ptr_eval,boost::fusio n::vector<boost::phoenix::argument<0>,boost::phoenix::value<bool (__cdecl property_t::* )(void) const>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost: :fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void _,boost::fusion::void_>>,boost::fusion::void_,boost::fusion::void_,boost::fu sion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,b oost::fusion::void_,boost::fusion::void_,boost::fusion::void_>> 4> ] 4> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocnum(1081) : see reference to function template instantiation 'boost::fusion::vector<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::vector<boost::phoenix ::composite<EvalPolicy,EvalTuple>>(const Sequence &)' being compiled 4> with 4> [ 4> T0=boost::phoenix::composite<boost::phoenix::mem_fun_ptr_eval,boost::fusion: :vector<boost::phoenix::argument<0>,boost::phoenix::value<bool (__cdecl property_t::* )(void) const>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost: :fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void _,boost::fusion::void_>>, 4> T1=boost::fusion::void_, 4> T2=boost::fusion::void_, 4> T3=boost::fusion::void_, 4> T4=boost::fusion::void_, 4> T5=boost::fusion::void_, 4> T6=boost::fusion::void_, 4> T7=boost::fusion::void_, 4> T8=boost::fusion::void_, 4> T9=boost::fusion::void_, 4> EvalPolicy=boost::phoenix::logical_not_eval, 4> EvalTuple=boost::fusion::vector<boost::phoenix::composite<boost::phoenix::me m_fun_ptr_eval,boost::fusion::vector<boost::phoenix::argument<0>,boost::phoe nix::value<bool (__cdecl property_t::* )(void) const>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost: :fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void _,boost::fusion::void_>>,boost::fusion::void_,boost::fusion::void_,boost::fu sion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,b oost::fusion::void_,boost::fusion::void_,boost::fusion::void_>, 4> Sequence=boost::phoenix::composite<boost::phoenix::logical_not_eval,boost::f usion::vector<boost::phoenix::composite<boost::phoenix::mem_fun_ptr_eval,boo st::fusion::vector<boost::phoenix::argument<0>,boost::phoenix::value<bool (__cdecl property_t::* )(void) const>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost: :fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void _,boost::fusion::void_>>,boost::fusion::void_,boost::fusion::void_,boost::fu sion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,b oost::fusion::void_,boost::fusion::void_,boost::fusion::void_>> 4> ]

Is this the same problem as https://svn.boost.org/trac/boost/ticket/1614, but for VC10 rather than VC9 ?

It would appear to be so.
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost- bounces@lists.boost.org] On Behalf Of Richard Webb Sent: 22 April 2010 11:55 To: boost@lists.boost.org Subject: Re: [boost] [Fusion] [Phoenix] VC10
Is this the same problem as https://svn.boost.org/trac/boost/ticket/1614, but for VC10 rather than VC9 ?
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (2)
-
Richard Crossley
-
Richard Webb