| 1 | In file included from ./boost/phoenix/core/detail/preprocessed/function_eval.hpp:12:0, | 
|---|
| 2 | from ./boost/phoenix/core/detail/function_eval.hpp:14, | 
|---|
| 3 | from ./boost/phoenix/function/function.hpp:13, | 
|---|
| 4 | from ./boost/phoenix/function.hpp:11, | 
|---|
| 5 | from ./boost/phoenix/phoenix.hpp:12, | 
|---|
| 6 | from ./boost/phoenix.hpp:11, | 
|---|
| 7 | from ./phoenix_non_const.cpp:2: | 
|---|
| 8 | ./boost/phoenix/core/detail/preprocessed/function_eval_10.hpp: In instantiation of ‘typename boost::phoenix::detail::function_eval::result<boost::phoenix::detail::function_eval(const F&, A0&, const Context&)>::type boost::phoenix::detail::function_eval::operator()(const F&, A0&, const Context&) const [with F = boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>; A0 = const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l>; Context = boost::phoenix::vector2<boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l> >, 2l> >*>&, const boost::phoenix::default_actions&>; typename boost::phoenix::detail::function_eval::result<boost::phoenix::detail::function_eval(const F&, A0&, const Context&)>::type = void]’: | 
|---|
| 9 | ./boost/phoenix/core/detail/preprocessed/call_10.hpp:76:21:   required from ‘boost::phoenix::detail::call_impl<Fun, Expr, State, Data, 2l>::result_type boost::phoenix::detail::call_impl<Fun, Expr, State, Data, 2l>::operator()(typename boost::phoenix::detail::call_impl<Fun, Expr, State, Data, 2l>::expr_param, typename boost::phoenix::detail::call_impl<Fun, Expr, State, Data, 2l>::state_param, typename boost::phoenix::detail::call_impl<Fun, Expr, State, Data, 2l>::data_param) const [with Fun = boost::phoenix::detail::function_eval; Expr = const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l> >, 2l> >&; State = boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l> >, 2l> >*>&; Data = const boost::phoenix::default_actions&; boost::phoenix::detail::call_impl<Fun, Expr, State, Data, 2l>::result_type = void; typename boost::phoenix::detail::call_impl<Fun, Expr, State, Data, 2l>::expr_param = const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l> >, 2l> >&; typename boost::phoenix::detail::call_impl<Fun, Expr, State, Data, 2l>::state_param = boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l> >, 2l> >*>&; typename boost::phoenix::detail::call_impl<Fun, Expr, State, Data, 2l>::data_param = const boost::phoenix::default_actions&]’ | 
|---|
| 10 | ./boost/phoenix/core/meta_grammar.hpp:74:61:   required from ‘boost::phoenix::evaluator::impl<Expr, State, boost::proto::envns_::empty_env>::result_type boost::phoenix::evaluator::impl<Expr, State, boost::proto::envns_::empty_env>::operator()(typename boost::phoenix::evaluator::impl<Expr, State, boost::proto::envns_::empty_env>::expr_param, typename boost::phoenix::evaluator::impl<Expr, State, boost::proto::envns_::empty_env>::state_param, typename boost::phoenix::evaluator::impl<Expr, State, boost::proto::envns_::empty_env>::data_param) const [with Expr = const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l> >, 2l> >&; State = const boost::phoenix::vector2<boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l> >, 2l> >*>&, const boost::phoenix::default_actions&>&; boost::phoenix::evaluator::impl<Expr, State, boost::proto::envns_::empty_env>::result_type = void; typename boost::phoenix::evaluator::impl<Expr, State, boost::proto::envns_::empty_env>::expr_param = const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l> >, 2l> >&; typename boost::phoenix::evaluator::impl<Expr, State, boost::proto::envns_::empty_env>::state_param = const boost::phoenix::vector2<boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l> >, 2l> >*>&, const boost::phoenix::default_actions&>&; typename boost::phoenix::evaluator::impl<Expr, State, boost::proto::envns_::empty_env>::data_param = const boost::proto::envns_::empty_env&]’ | 
|---|
| 11 | ./boost/phoenix/core/meta_grammar.hpp:34:9:   required from ‘typename boost::proto::detail::apply_transform<boost::phoenix::evaluator(const Expr&, const State&)>::result_type boost::phoenix::evaluator::operator()(const Expr&, const State&) const [with Expr = boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l> >, 2l> >; State = boost::phoenix::vector2<boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l> >, 2l> >*>&, const boost::phoenix::default_actions&>; typename boost::proto::detail::apply_transform<boost::phoenix::evaluator(const Expr&, const State&)>::result_type = void]’ | 
|---|
| 12 | ./boost/phoenix/core/meta_grammar.hpp:139:27:   required from ‘typename boost::proto::switch_<boost::phoenix::meta_grammar>::impl<const Expr&, typename boost::phoenix::result_of::env<const Context&>::type, typename boost::phoenix::result_of::actions<const Context&>::type>::result_type boost::phoenix::eval(const Expr&, const Context&) [with Expr = boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l> >, 2l> >; Context = boost::phoenix::vector2<boost::phoenix::vector1<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l> >, 2l> >*>&, const boost::phoenix::default_actions&>; typename boost::proto::switch_<boost::phoenix::meta_grammar>::impl<const Expr&, typename boost::phoenix::result_of::env<const Context&>::type, typename boost::phoenix::result_of::actions<const Context&>::type>::result_type = void]’ | 
|---|
| 13 | ./boost/phoenix/core/actor.hpp:254:81:   required from ‘typename boost::phoenix::result_of::actor<typename boost::mpl::eval_if_c<boost::mpl::or_<boost::phoenix::is_custom_terminal<Expr>, mpl_::bool_<boost::is_placeholder<Expr>::value> >::value, boost::proto::terminal<T>, boost::mpl::identity<T> >::type::proto_base_expr>::type boost::phoenix::actor<Expr>::operator()() const [with Expr = boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<my_func>, 0l>, boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int&>, 0l> >, 2l>; typename boost::phoenix::result_of::actor<typename boost::mpl::eval_if_c<boost::mpl::or_<boost::phoenix::is_custom_terminal<Expr>, mpl_::bool_<boost::is_placeholder<Expr>::value> >::value, boost::proto::terminal<T>, boost::mpl::identity<T> >::type::proto_base_expr>::type = void]’ | 
|---|
| 14 | ./phoenix_non_const.cpp:19:44:   required from here | 
|---|
| 15 | ./boost/phoenix/core/detail/preprocessed/function_eval_10.hpp:85:51: error: passing ‘const my_func’ as ‘this’ argument of ‘void my_func::operator()(int&)’ discards qualifiers [-fpermissive] | 
|---|
| 16 | return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx))); | 
|---|
| 17 | ^ | 
|---|