In file included from phoenix_test.cpp:1: In file included from /usr/include/boost/phoenix.hpp:11: In file included from /usr/include/boost/phoenix/phoenix.hpp:11: In file included from /usr/include/boost/phoenix/core.hpp:15: In file included from /usr/include/boost/phoenix/core/actor.hpp:17: In file included from /usr/include/boost/phoenix/core/domain.hpp:12: In file included from /usr/include/boost/proto/domain.hpp:17: In file included from /usr/include/boost/proto/generate.hpp:23: /usr/include/boost/utility/result_of.hpp:79:34: error: implicit instantiation of undefined template 'boost::phoenix::dynamic_cast_eval::result >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>)>' struct result_of_nested_result : F::template result ^ /usr/include/boost/utility/result_of.hpp:84:5: note: in instantiation of template class 'boost::detail::result_of_nested_result >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>)>' requested here : mpl::if_, ^ /usr/include/boost/utility/detail/result_of_iterate.hpp:24:7: note: in instantiation of template class 'boost::detail::tr1_result_of_impl >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>), false>' requested here : mpl::if_< ^ /usr/include/boost/utility/detail/result_of_iterate.hpp:81:7: note: in instantiation of template class 'boost::tr1_result_of >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>)>' requested here : tr1_result_of { }; ^ /usr/include/boost/phoenix/core/detail/preprocessed/call_10.hpp:62:33: note: in instantiation of template class 'boost::result_of >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>)>' requested here typename boost::result_of< ^ /usr/include/boost/phoenix/core/call.hpp:61:15: note: in instantiation of template class 'boost::phoenix::detail::call_impl >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &, 2>' requested here : detail::call_impl ^ /usr/include/boost/proto/transform/when.hpp:127:13: note: (skipping 16 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) : Data::template when::template impl ^ /usr/include/boost/proto/matches.hpp:839:13: note: in instantiation of template class 'boost::proto::when::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>' requested here : Cases::template case_::template impl ^ /usr/include/boost/phoenix/core/meta_grammar.hpp:66:30: note: in instantiation of template class 'boost::proto::switch_ ()>::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>' requested here typedef typename what::result_type result_type; ^ /usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of_10.hpp:74:21: note: in instantiation of template class 'boost::phoenix::evaluator::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> &, const boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, boost::phoenix::default_actions> &, int>' requested here impl< ^ /usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_10.hpp:31:204: note: in instantiation of template class 'boost::phoenix::result_of::actor >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2>, const A *&, const A *&, void, void, void, void, void, void, void, void, void>' requested here ...typename A0 , typename A1> struct result : result_of::actor {}; template typename result_of::actor : result_of::actor {}; template typename result_of::actor::type operator()(A0 & a0 , A1 & a1) const { typ... ^ /usr/include/boost/phoenix/object/dynamic_cast.hpp:29:16: note: template is declared here struct result; ^ In file included from phoenix_test.cpp:1: In file included from /usr/include/boost/phoenix.hpp:11: In file included from /usr/include/boost/phoenix/phoenix.hpp:11: In file included from /usr/include/boost/phoenix/core.hpp:15: In file included from /usr/include/boost/phoenix/core/actor.hpp:17: In file included from /usr/include/boost/phoenix/core/domain.hpp:12: In file included from /usr/include/boost/proto/domain.hpp:17: In file included from /usr/include/boost/proto/generate.hpp:23: /usr/include/boost/utility/result_of.hpp:79:34: error: implicit instantiation of undefined template 'boost::phoenix::dynamic_cast_eval::result >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *const &> &, const boost::phoenix::default_actions &>)>' struct result_of_nested_result : F::template result ^ /usr/include/boost/utility/result_of.hpp:84:5: note: in instantiation of template class 'boost::detail::result_of_nested_result >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *const &> &, const boost::phoenix::default_actions &>)>' requested here : mpl::if_, ^ /usr/include/boost/utility/detail/result_of_iterate.hpp:24:7: note: in instantiation of template class 'boost::detail::tr1_result_of_impl >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *const &> &, const boost::phoenix::default_actions &>), false>' requested here : mpl::if_< ^ /usr/include/boost/utility/detail/result_of_iterate.hpp:81:7: note: in instantiation of template class 'boost::tr1_result_of >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *const &> &, const boost::phoenix::default_actions &>)>' requested here : tr1_result_of { }; ^ /usr/include/boost/phoenix/core/detail/preprocessed/call_10.hpp:62:33: note: in instantiation of template class 'boost::result_of >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *const &> &, const boost::phoenix::default_actions &>)>' requested here typename boost::result_of< ^ /usr/include/boost/phoenix/core/call.hpp:61:15: note: in instantiation of template class 'boost::phoenix::detail::call_impl >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *const &> &, const boost::phoenix::default_actions &, 2>' requested here : detail::call_impl ^ /usr/include/boost/proto/transform/when.hpp:127:13: note: (skipping 16 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) : Data::template when::template impl ^ /usr/include/boost/proto/matches.hpp:839:13: note: in instantiation of template class 'boost::proto::when::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *const &> &, const boost::phoenix::default_actions &>' requested here : Cases::template case_::template impl ^ /usr/include/boost/phoenix/core/meta_grammar.hpp:66:30: note: in instantiation of template class 'boost::proto::switch_ ()>::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *const &> &, const boost::phoenix::default_actions &>' requested here typedef typename what::result_type result_type; ^ /usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of_10.hpp:74:21: note: in instantiation of template class 'boost::phoenix::evaluator::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> &, const boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *const &> &, boost::phoenix::default_actions> &, int>' requested here impl< ^ /usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_10.hpp:31:954: note: in instantiation of template class 'boost::phoenix::result_of::actor >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2>, const A *&, const A *const &, void, void, void, void, void, void, void, void, void>' requested here ...A0 , typename A1> struct result : result_of::actor {}; template typename result_of::actor : result_of::actor {}; template typename result_of::actor::type operator()(A0 & a0 , A1 const... ^ /usr/include/boost/phoenix/object/dynamic_cast.hpp:29:16: note: template is declared here struct result; ^ In file included from phoenix_test.cpp:1: In file included from /usr/include/boost/phoenix.hpp:11: In file included from /usr/include/boost/phoenix/phoenix.hpp:11: In file included from /usr/include/boost/phoenix/core.hpp:15: In file included from /usr/include/boost/phoenix/core/actor.hpp:17: In file included from /usr/include/boost/phoenix/core/domain.hpp:12: In file included from /usr/include/boost/proto/domain.hpp:17: In file included from /usr/include/boost/proto/generate.hpp:23: /usr/include/boost/utility/result_of.hpp:79:34: error: implicit instantiation of undefined template 'boost::phoenix::dynamic_cast_eval::result >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *&> &, const boost::phoenix::default_actions &>)>' struct result_of_nested_result : F::template result ^ /usr/include/boost/utility/result_of.hpp:84:5: note: in instantiation of template class 'boost::detail::result_of_nested_result >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *&> &, const boost::phoenix::default_actions &>)>' requested here : mpl::if_, ^ /usr/include/boost/utility/detail/result_of_iterate.hpp:24:7: note: in instantiation of template class 'boost::detail::tr1_result_of_impl >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *&> &, const boost::phoenix::default_actions &>), false>' requested here : mpl::if_< ^ /usr/include/boost/utility/detail/result_of_iterate.hpp:81:7: note: in instantiation of template class 'boost::tr1_result_of >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *&> &, const boost::phoenix::default_actions &>)>' requested here : tr1_result_of { }; ^ /usr/include/boost/phoenix/core/detail/preprocessed/call_10.hpp:62:33: note: in instantiation of template class 'boost::result_of >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *&> &, const boost::phoenix::default_actions &>)>' requested here typename boost::result_of< ^ /usr/include/boost/phoenix/core/call.hpp:61:15: note: in instantiation of template class 'boost::phoenix::detail::call_impl >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *&> &, const boost::phoenix::default_actions &, 2>' requested here : detail::call_impl ^ /usr/include/boost/proto/transform/when.hpp:127:13: note: (skipping 16 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) : Data::template when::template impl ^ /usr/include/boost/proto/matches.hpp:839:13: note: in instantiation of template class 'boost::proto::when::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *&> &, const boost::phoenix::default_actions &>' requested here : Cases::template case_::template impl ^ /usr/include/boost/phoenix/core/meta_grammar.hpp:66:30: note: in instantiation of template class 'boost::proto::switch_ ()>::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *&> &, const boost::phoenix::default_actions &>' requested here typedef typename what::result_type result_type; ^ /usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of_10.hpp:74:21: note: in instantiation of template class 'boost::phoenix::evaluator::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> &, const boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *&> &, boost::phoenix::default_actions> &, int>' requested here impl< ^ /usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_10.hpp:31:1734: note: in instantiation of template class 'boost::phoenix::result_of::actor >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2>, const A *const &, const A *&, void, void, void, void, void, void, void, void, void>' requested here ...A0 , typename A1> struct result : result_of::actor {}; template typename result_of::actor : result_of::actor {}; template typename result_of::actor::type operator()(A0 const& a0 , A1 & a1... ^ /usr/include/boost/phoenix/object/dynamic_cast.hpp:29:16: note: template is declared here struct result; ^ In file included from phoenix_test.cpp:1: In file included from /usr/include/boost/phoenix.hpp:11: In file included from /usr/include/boost/phoenix/phoenix.hpp:11: In file included from /usr/include/boost/phoenix/core.hpp:15: In file included from /usr/include/boost/phoenix/core/actor.hpp:17: In file included from /usr/include/boost/phoenix/core/domain.hpp:12: In file included from /usr/include/boost/proto/domain.hpp:17: In file included from /usr/include/boost/proto/generate.hpp:23: /usr/include/boost/utility/result_of.hpp:79:34: error: implicit instantiation of undefined template 'boost::phoenix::dynamic_cast_eval::result >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *const &> &, const boost::phoenix::default_actions &>)>' struct result_of_nested_result : F::template result ^ /usr/include/boost/utility/result_of.hpp:84:5: note: in instantiation of template class 'boost::detail::result_of_nested_result >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *const &> &, const boost::phoenix::default_actions &>)>' requested here : mpl::if_, ^ /usr/include/boost/utility/detail/result_of_iterate.hpp:24:7: note: in instantiation of template class 'boost::detail::tr1_result_of_impl >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *const &> &, const boost::phoenix::default_actions &>), false>' requested here : mpl::if_< ^ /usr/include/boost/utility/detail/result_of_iterate.hpp:81:7: note: in instantiation of template class 'boost::tr1_result_of >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *const &> &, const boost::phoenix::default_actions &>)>' requested here : tr1_result_of { }; ^ /usr/include/boost/phoenix/core/detail/preprocessed/call_10.hpp:62:33: note: in instantiation of template class 'boost::result_of >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *const &> &, const boost::phoenix::default_actions &>)>' requested here typename boost::result_of< ^ /usr/include/boost/phoenix/core/call.hpp:61:15: note: in instantiation of template class 'boost::phoenix::detail::call_impl >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *const &> &, const boost::phoenix::default_actions &, 2>' requested here : detail::call_impl ^ /usr/include/boost/proto/transform/when.hpp:127:13: note: (skipping 16 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) : Data::template when::template impl ^ /usr/include/boost/proto/matches.hpp:839:13: note: in instantiation of template class 'boost::proto::when::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *const &> &, const boost::phoenix::default_actions &>' requested here : Cases::template case_::template impl ^ /usr/include/boost/phoenix/core/meta_grammar.hpp:66:30: note: in instantiation of template class 'boost::proto::switch_ ()>::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *const &> &, const boost::phoenix::default_actions &>' requested here typedef typename what::result_type result_type; ^ /usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of_10.hpp:74:21: note: in instantiation of template class 'boost::phoenix::evaluator::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> &, const boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *const &, const A *const &> &, boost::phoenix::default_actions> &, int>' requested here impl< ^ /usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_10.hpp:31:2524: note: in instantiation of template class 'boost::phoenix::result_of::actor >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2>, const A *const &, const A *const &, void, void, void, void, void, void, void, void, void>' requested here ...typename A1> struct result : result_of::actor {}; template typename result_of::actor {}; template typename result_of::actor::type operator()(A0 const& a0 , A1 con... ^ /usr/include/boost/phoenix/object/dynamic_cast.hpp:29:16: note: template is declared here struct result; ^ In file included from phoenix_test.cpp:1: In file included from /usr/include/boost/phoenix.hpp:11: In file included from /usr/include/boost/phoenix/phoenix.hpp:11: In file included from /usr/include/boost/phoenix/core.hpp:15: In file included from /usr/include/boost/phoenix/core/actor.hpp:19: In file included from /usr/include/boost/phoenix/core/is_nullary.hpp:15: In file included from /usr/include/boost/phoenix/core/meta_grammar.hpp:17: /usr/include/boost/proto/transform/default.hpp:140:9: error: no type named 'result_type' in 'boost::proto::switch_ ()>::impl >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>' BOOST_PROTO_BINARY_DEFAULT_EVAL(+, plus, make, make) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/boost/proto/transform/default.hpp:100:75: note: expanded from macro 'BOOST_PROTO_BINARY_DEFAULT_EVAL' typedef typename Grammar::template impl::result_type r1; \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ /usr/include/boost/proto/matches.hpp:839:13: note: in instantiation of template class 'boost::proto::detail::default_plus::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>' requested here : Cases::template case_::template impl ^ /usr/include/boost/proto/transform/when.hpp:127:13: note: in instantiation of template class 'boost::proto::switch_, boost::proto::tag_of ()>::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>' requested here : Data::template when::template impl ^ /usr/include/boost/proto/matches.hpp:839:13: note: in instantiation of template class 'boost::proto::when::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>' requested here : Cases::template case_::template impl ^ /usr/include/boost/phoenix/core/meta_grammar.hpp:131:28: note: in instantiation of template class 'boost::proto::switch_ ()>::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>' requested here typename meta_grammar::template impl< ^ /usr/include/boost/phoenix/core/meta_grammar.hpp:136:5: note: while substituting deduced template arguments into function template 'eval' [with Expr = boost::phoenix::actor >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> >, Context = boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>] eval(Expr const& expr, Context const & ctx) ^ phoenix_test.cpp:35:19: note: in instantiation of function template specialization 'boost::phoenix::actor >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> >::operator()' requested here std::cout << test(a, b) << std::endl; ^ In file included from phoenix_test.cpp:1: In file included from /usr/include/boost/phoenix.hpp:11: In file included from /usr/include/boost/phoenix/phoenix.hpp:11: In file included from /usr/include/boost/phoenix/core.hpp:20: In file included from /usr/include/boost/phoenix/core/nothing.hpp:13: In file included from /usr/include/boost/phoenix/core/call.hpp:65: In file included from /usr/include/boost/phoenix/core/detail/call.hpp:6: In file included from /usr/include/boost/phoenix/core/detail/preprocessed/call.hpp:12: /usr/include/boost/phoenix/core/detail/preprocessed/call_10.hpp:64:20: error: no type named 'type' in 'boost::result_of >, 0>, boost::phoenix::actor >, 0> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>)>' >::type ~~~^~~~ /usr/include/boost/phoenix/core/call.hpp:61:15: note: in instantiation of template class 'boost::phoenix::detail::call_impl >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &, 2>' requested here : detail::call_impl ^ /usr/include/boost/proto/transform/when.hpp:127:13: note: in instantiation of template class 'boost::phoenix::call::impl >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>' requested here : Data::template when::template impl ^ /usr/include/boost/proto/matches.hpp:834:13: note: in instantiation of template class 'boost::proto::when::impl >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>' requested here : Cases::template case_::template impl ^ /usr/include/boost/phoenix/core/meta_grammar.hpp:66:30: note: in instantiation of template class 'boost::proto::switch_ ()>::impl >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>' requested here typedef typename what::result_type result_type; ^ /usr/include/boost/phoenix/operator/preprocessed/member_10.hpp:40:41: note: in instantiation of template class 'boost::phoenix::evaluator::impl >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>, int>' requested here typedef typename evaluator::impl< A0 , Context , int >::result_type child0; typedef typename evaluator::impl< A1 , Context , int >::result_type child1; ^ /usr/include/boost/phoenix/operator/preprocessed/member_10.hpp:219:15: note: (skipping 11 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) : result_of::mem_fun_ptr_eval ^ /usr/include/boost/proto/transform/when.hpp:127:13: note: in instantiation of template class 'boost::proto::switch_, boost::proto::tag_of ()>::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>' requested here : Data::template when::template impl ^ /usr/include/boost/proto/matches.hpp:839:13: note: in instantiation of template class 'boost::proto::when::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>' requested here : Cases::template case_::template impl ^ /usr/include/boost/phoenix/core/meta_grammar.hpp:144:28: note: in instantiation of template class 'boost::proto::switch_ ()>::impl >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > &, boost::phoenix::vector3 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>' requested here typename meta_grammar::template impl< ^ /usr/include/boost/phoenix/core/meta_grammar.hpp:149:5: note: while substituting deduced template arguments into function template 'eval' [with Expr = boost::phoenix::actor >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> >, Context = boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>] eval(Expr & expr, Context const & ctx) ^ phoenix_test.cpp:35:19: note: in instantiation of function template specialization 'boost::phoenix::actor >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> >::operator()' requested here std::cout << test(a, b) << std::endl; ^ In file included from phoenix_test.cpp:1: In file included from /usr/include/boost/phoenix.hpp:11: In file included from /usr/include/boost/phoenix/phoenix.hpp:11: In file included from /usr/include/boost/phoenix/core.hpp:15: In file included from /usr/include/boost/phoenix/core/actor.hpp:272: In file included from /usr/include/boost/phoenix/core/detail/actor_operator.hpp:8: In file included from /usr/include/boost/phoenix/core/detail/preprocessed/actor_operator.hpp:12: /usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_10.hpp:31:683: error: no matching function for call to 'eval' ...A0 & , A1 &>::type operator()(A0 & a0 , A1 & a1) { typedef vector3< const actor *, A0 & , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_a... ^~~~~~~~~~~~~ phoenix_test.cpp:35:19: note: in instantiation of function template specialization 'boost::phoenix::actor >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> >::operator()' requested here std::cout << test(a, b) << std::endl; ^ /usr/include/boost/phoenix/core/meta_grammar.hpp:136:5: note: candidate template ignored: substitution failure [with Expr = boost::phoenix::actor >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> >, Context = boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>] eval(Expr const& expr, Context const & ctx) ^ /usr/include/boost/phoenix/core/meta_grammar.hpp:149:5: note: candidate template ignored: substitution failure [with Expr = boost::phoenix::actor >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> >, Context = boost::phoenix::vector2 >, 0> >, boost::proto::exprns_::basic_expr, 0> >, 2> >, boost::phoenix::actor >, 0>, boost::phoenix::actor >, 0> > >, 2> >, boost::proto::exprns_::basic_expr, 0> >, 2> > >, 2> > *, const A *&, const A *&> &, const boost::phoenix::default_actions &>] eval(Expr & expr, Context const & ctx) ^ 7 errors generated.