Guest User

Problem with Boost.Phoenix custom terminal - compiler output

a guest
Aug 25th, 2012
49
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. In file included from ./boost/fusion/adapted/struct/adapt_struct.hpp:21:0,
  2. from ./boost/phoenix/support/vector.hpp:9,
  3. from ./boost/phoenix/core/environment.hpp:14,
  4. from ./boost/phoenix/core/actor.hpp:18,
  5. from ./boost/phoenix/core.hpp:15,
  6. from ./boost/phoenix/phoenix.hpp:11,
  7. from ./boost/phoenix.hpp:11,
  8. from ./terminal_test.cpp:3:
  9. ./boost/fusion/adapted/struct/detail/at_impl.hpp: In instantiation of ‘boost::fusion::extension::at_impl<boost::fusion::struct_tag>::apply<boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>, mpl_::int_<1> >’:
  10. ./boost/fusion/sequence/intrinsic/at.hpp:61:16: instantiated from ‘boost::fusion::result_of::at<boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>, mpl_::int_<1> >’
  11. ./boost/proto/functional/fusion/at.hpp:33:16: instantiated from ‘boost::proto::functional::at::result<boost::proto::functional::at(boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>&, mpl_::int_<1>)>’
  12. ./boost/proto/detail/poly_function.hpp:190:58: instantiated from ‘boost::proto::detail::poly_function_traits<boost::proto::functional::at, boost::proto::functional::at(boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>&, mpl_::int_<1>), mpl_::size_t<3ul> >’
  13. ./boost/proto/transform/call.hpp:246:90: instantiated from ‘boost::proto::call<boost::proto::functional::at(boost::phoenix::_env, boost::proto::make<boost::phoenix::detail::placeholder_idx<boost::proto::make<boost::is_placeholder<boost::proto::_value>()> >()>)>::impl2<const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l>&, boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>&, const boost::phoenix::default_actions&, false>’
  14. ./boost/proto/transform/call.hpp:311:16: instantiated from ‘boost::proto::call<boost::proto::functional::at(boost::phoenix::_env, boost::proto::make<boost::phoenix::detail::placeholder_idx<boost::proto::make<boost::is_placeholder<boost::proto::_value>()> >()>)>::impl<const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l>&, boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>&, const boost::phoenix::default_actions&>’
  15. ./boost/proto/transform/when.hpp:181:16: [ skipping 17 instantiation contexts ]
  16. ./boost/phoenix/core/meta_grammar.hpp:66:48: instantiated from ‘boost::phoenix::evaluator::impl<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l>&, const boost::phoenix::vector2<boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>&, boost::phoenix::default_actions>&, int>’
  17. ./boost/phoenix/core/detail/preprocessed/actor_result_of_10.hpp:26:17: instantiated from ‘boost::phoenix::result_of::nullary_actor_result<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >’
  18. ./boost/mpl/eval_if.hpp:60:31: instantiated from ‘boost::mpl::eval_if_c<true, boost::phoenix::result_of::nullary_actor_result<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >, boost::mpl::identity<boost::phoenix::detail::error_expecting_arguments> >’
  19. ./boost/phoenix/core/detail/preprocessed/actor_result_of_10.hpp:38:13: instantiated from ‘boost::phoenix::result_of::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l>, void, void, void, void, void, void, void, void, void, void, void>’
  20. ./boost/phoenix/core/actor.hpp:240:9: instantiated from ‘boost::phoenix::actor<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >’
  21. ./terminal_test.cpp:154:69: instantiated from here
  22. ./boost/fusion/adapted/struct/detail/at_impl.hpp:24:16: error: invalid use of incomplete type ‘struct boost::fusion::extension::access::struct_member<boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>, 1>’
  23. ./boost/fusion/adapted/struct/detail/extension.hpp:33:20: error: declaration of ‘struct boost::fusion::extension::access::struct_member<boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>, 1>’
  24. In file included from ./boost/proto/transform/call.hpp:31:0,
  25. from ./boost/proto/transform/when.hpp:21,
  26. from ./boost/proto/matches.hpp:43,
  27. from ./boost/phoenix/core/meta_grammar.hpp:15,
  28. from ./boost/phoenix/core/is_nullary.hpp:15,
  29. from ./boost/phoenix/core/actor.hpp:19,
  30. from ./boost/phoenix/core.hpp:15,
  31. from ./boost/phoenix/phoenix.hpp:11,
  32. from ./boost/phoenix.hpp:11,
  33. from ./terminal_test.cpp:3:
  34. ./boost/proto/detail/poly_function.hpp: In instantiation of ‘boost::proto::detail::poly_function_traits<boost::proto::functional::at, boost::proto::functional::at(boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>&, mpl_::int_<1>), mpl_::size_t<3ul> >’:
  35. ./boost/proto/transform/call.hpp:246:90: instantiated from ‘boost::proto::call<boost::proto::functional::at(boost::phoenix::_env, boost::proto::make<boost::phoenix::detail::placeholder_idx<boost::proto::make<boost::is_placeholder<boost::proto::_value>()> >()>)>::impl2<const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l>&, boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>&, const boost::phoenix::default_actions&, false>’
  36. ./boost/proto/transform/call.hpp:311:16: instantiated from ‘boost::proto::call<boost::proto::functional::at(boost::phoenix::_env, boost::proto::make<boost::phoenix::detail::placeholder_idx<boost::proto::make<boost::is_placeholder<boost::proto::_value>()> >()>)>::impl<const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l>&, boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>&, const boost::phoenix::default_actions&>’
  37. ./boost/proto/transform/when.hpp:181:16: instantiated from ‘boost::proto::when<boost::phoenix::rule::argument, boost::proto::external_transform>::impl<const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l>&, boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>&, const boost::phoenix::default_actions&>’
  38. ./boost/proto/matches.hpp:764:16: instantiated from ‘boost::proto::or_<boost::phoenix::enable_rule<boost::phoenix::rule::argument, void>, boost::phoenix::enable_rule<boost::phoenix::rule::custom_terminal, void>, boost::phoenix::enable_rule<boost::phoenix::rule::terminal, void>, void, void, void, void, void, void, void>::impl<const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l>&, boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>&, const boost::phoenix::default_actions&>’
  39. ./boost/proto/matches.hpp:842:16: instantiated from ‘boost::proto::switch_<boost::phoenix::meta_grammar>::impl<const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l>&, boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>&, const boost::phoenix::default_actions&>’
  40. ./boost/phoenix/core/meta_grammar.hpp:90:48: [ skipping 14 instantiation contexts ]
  41. ./boost/phoenix/core/meta_grammar.hpp:66:48: instantiated from ‘boost::phoenix::evaluator::impl<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l>&, const boost::phoenix::vector2<boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>&, boost::phoenix::default_actions>&, int>’
  42. ./boost/phoenix/core/detail/preprocessed/actor_result_of_10.hpp:26:17: instantiated from ‘boost::phoenix::result_of::nullary_actor_result<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >’
  43. ./boost/mpl/eval_if.hpp:60:31: instantiated from ‘boost::mpl::eval_if_c<true, boost::phoenix::result_of::nullary_actor_result<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >, boost::mpl::identity<boost::phoenix::detail::error_expecting_arguments> >’
  44. ./boost/phoenix/core/detail/preprocessed/actor_result_of_10.hpp:38:13: instantiated from ‘boost::phoenix::result_of::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l>, void, void, void, void, void, void, void, void, void, void, void>’
  45. ./boost/phoenix/core/actor.hpp:240:9: instantiated from ‘boost::phoenix::actor<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >’
  46. ./terminal_test.cpp:154:69: instantiated from here
  47. ./boost/proto/detail/poly_function.hpp:190:58: error: no type named ‘type’ in ‘struct boost::proto::functional::at::result<boost::proto::functional::at(boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my::output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1> >, 0l> > > >, 0l> >*>&, mpl_::int_<1>)>’
RAW Paste Data