| 1 | $ g++ -std=c++11 boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp -Iboost_1_57_0
|
|---|
| 2 |
|
|---|
| 3 | In file included from boost_1_57_0/boost/spirit/repository/include/qi_subrule.hpp:17:0,
|
|---|
| 4 | from boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:20:
|
|---|
| 5 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp: In instantiation of ‘struct boost::spirit::repository::qi::subrule<0>::group_type_helper<boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&>, 2l>&>, 1l>&>, 2l>, false>’:
|
|---|
| 6 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: required by substitution of ‘template<class Expr> typename boost::spirit::repository::qi::subrule<ID_, T1, T2>::group_type_helper<Expr, false>::type boost::spirit::repository::qi::subrule<ID_, T1, T2>::operator=(const Expr&) const [with Expr = Expr; int ID_ = 0; T1 = boost::spirit::unused_type; T2 = boost::spirit::unused_type] [with Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&>, 2l>&>, 1l>&>, 2l>]’
|
|---|
| 7 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:42:28: required from ‘client::calculator<Iterator>::calculator() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’
|
|---|
| 8 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
|
|---|
| 9 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:444:13: error: no type named ‘type’ in ‘struct boost::fusion::result_of::make_map<mpl_::int_<0>, const boost::spirit::repository::qi::subrule_definition<0, boost::fusion::vector0<void>, boost::spirit::unused_type, boost::spirit::unused_type&, boost::fusion::nil_, 0ul, boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<1, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<1, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<1, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::nil_> > > >, boost::fusion::nil_> > >, false> >’
|
|---|
| 10 | defs_type;
|
|---|
| 11 | ^
|
|---|
| 12 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:446:46: error: no type named ‘type’ in ‘struct boost::fusion::result_of::make_map<mpl_::int_<0>, const boost::spirit::repository::qi::subrule_definition<0, boost::fusion::vector0<void>, boost::spirit::unused_type, boost::spirit::unused_type&, boost::fusion::nil_, 0ul, boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<1, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<1, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<1, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::nil_> > > >, boost::fusion::nil_> > >, false> >’
|
|---|
| 13 | typedef subrule_group<defs_type> type;
|
|---|
| 14 | ^
|
|---|
| 15 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp: In instantiation of ‘client::calculator<Iterator>::calculator() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’:
|
|---|
| 16 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
|
|---|
| 17 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:42:28: error: no match for ‘operator=’ (operand types are ‘boost::spirit::repository::qi::subrule<0>’ and ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&>, 2l>&>, 1l>&>, 2l>}’)
|
|---|
| 18 | expression =
|
|---|
| 19 | ^
|
|---|
| 20 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:42:28: note: candidates are:
|
|---|
| 21 | In file included from boost_1_57_0/boost/spirit/repository/include/qi_subrule.hpp:17:0,
|
|---|
| 22 | from boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:20:
|
|---|
| 23 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: template<class Expr> typename boost::spirit::repository::qi::subrule<ID_, T1, T2>::group_type_helper<Expr, false>::type boost::spirit::repository::qi::subrule<ID_, T1, T2>::operator=(const Expr&) const [with Expr = Expr; int ID_ = 0; T1 = boost::spirit::unused_type; T2 = boost::spirit::unused_type]
|
|---|
| 24 | operator=(Expr const& expr) const
|
|---|
| 25 | ^
|
|---|
| 26 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: substitution of deduced template arguments resulted in errors seen above
|
|---|
| 27 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: boost::spirit::repository::qi::subrule<0>& boost::spirit::repository::qi::subrule<0>::operator=(const boost::spirit::repository::qi::subrule<0>&)
|
|---|
| 28 | struct subrule
|
|---|
| 29 | ^
|
|---|
| 30 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: no known conversion for argument 1 from ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&>, 2l>&>, 1l>&>, 2l>}’ to ‘const boost::spirit::repository::qi::subrule<0>&’
|
|---|
| 31 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: boost::spirit::repository::qi::subrule<0>& boost::spirit::repository::qi::subrule<0>::operator=(boost::spirit::repository::qi::subrule<0>&&)
|
|---|
| 32 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: no known conversion for argument 1 from ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<1>&>, 2l>&>, 2l>&>, 1l>&>, 2l>}’ to ‘boost::spirit::repository::qi::subrule<0>&&’
|
|---|
| 33 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp: In instantiation of ‘struct boost::spirit::repository::qi::subrule<1>::group_type_helper<boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<2>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&>, 1l>&>, 2l>, false>’:
|
|---|
| 34 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: required by substitution of ‘template<class Expr> typename boost::spirit::repository::qi::subrule<ID_, T1, T2>::group_type_helper<Expr, false>::type boost::spirit::repository::qi::subrule<ID_, T1, T2>::operator=(const Expr&) const [with Expr = Expr; int ID_ = 1; T1 = boost::spirit::unused_type; T2 = boost::spirit::unused_type] [with Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<2>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&>, 1l>&>, 2l>]’
|
|---|
| 35 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:48:22: required from ‘client::calculator<Iterator>::calculator() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’
|
|---|
| 36 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
|
|---|
| 37 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:444:13: error: no type named ‘type’ in ‘struct boost::fusion::result_of::make_map<mpl_::int_<1>, const boost::spirit::repository::qi::subrule_definition<1, boost::fusion::vector0<void>, boost::spirit::unused_type, boost::spirit::unused_type&, boost::fusion::nil_, 0ul, boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::nil_> > > >, boost::fusion::nil_> > >, false> >’
|
|---|
| 38 | defs_type;
|
|---|
| 39 | ^
|
|---|
| 40 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:446:46: error: no type named ‘type’ in ‘struct boost::fusion::result_of::make_map<mpl_::int_<1>, const boost::spirit::repository::qi::subrule_definition<1, boost::fusion::vector0<void>, boost::spirit::unused_type, boost::spirit::unused_type&, boost::fusion::nil_, 0ul, boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::nil_> > > >, boost::fusion::nil_> > >, false> >’
|
|---|
| 41 | typedef subrule_group<defs_type> type;
|
|---|
| 42 | ^
|
|---|
| 43 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp: In instantiation of ‘client::calculator<Iterator>::calculator() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’:
|
|---|
| 44 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
|
|---|
| 45 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:48:22: error: no match for ‘operator=’ (operand types are ‘boost::spirit::repository::qi::subrule<1>’ and ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<2>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&>, 1l>&>, 2l>}’)
|
|---|
| 46 | , term =
|
|---|
| 47 | ^
|
|---|
| 48 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:48:22: note: candidates are:
|
|---|
| 49 | In file included from boost_1_57_0/boost/spirit/repository/include/qi_subrule.hpp:17:0,
|
|---|
| 50 | from boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:20:
|
|---|
| 51 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: template<class Expr> typename boost::spirit::repository::qi::subrule<ID_, T1, T2>::group_type_helper<Expr, false>::type boost::spirit::repository::qi::subrule<ID_, T1, T2>::operator=(const Expr&) const [with Expr = Expr; int ID_ = 1; T1 = boost::spirit::unused_type; T2 = boost::spirit::unused_type]
|
|---|
| 52 | operator=(Expr const& expr) const
|
|---|
| 53 | ^
|
|---|
| 54 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: substitution of deduced template arguments resulted in errors seen above
|
|---|
| 55 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: boost::spirit::repository::qi::subrule<1>& boost::spirit::repository::qi::subrule<1>::operator=(const boost::spirit::repository::qi::subrule<1>&)
|
|---|
| 56 | struct subrule
|
|---|
| 57 | ^
|
|---|
| 58 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: no known conversion for argument 1 from ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<2>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&>, 1l>&>, 2l>}’ to ‘const boost::spirit::repository::qi::subrule<1>&’
|
|---|
| 59 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: boost::spirit::repository::qi::subrule<1>& boost::spirit::repository::qi::subrule<1>::operator=(boost::spirit::repository::qi::subrule<1>&&)
|
|---|
| 60 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: no known conversion for argument 1 from ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::repository::qi::subrule<2>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&>, 1l>&>, 2l>}’ to ‘boost::spirit::repository::qi::subrule<1>&&’
|
|---|
| 61 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp: In instantiation of ‘struct boost::spirit::repository::qi::subrule<2>::group_type_helper<boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::uint_>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<0>&>, 2l>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l> >, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>, false>’:
|
|---|
| 62 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: required by substitution of ‘template<class Expr> typename boost::spirit::repository::qi::subrule<ID_, T1, T2>::group_type_helper<Expr, false>::type boost::spirit::repository::qi::subrule<ID_, T1, T2>::operator=(const Expr&) const [with Expr = Expr; int ID_ = 2; T1 = boost::spirit::unused_type; T2 = boost::spirit::unused_type] [with Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::uint_>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<0>&>, 2l>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l> >, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>]’
|
|---|
| 63 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:54:24: required from ‘client::calculator<Iterator>::calculator() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’
|
|---|
| 64 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
|
|---|
| 65 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:444:13: error: no type named ‘type’ in ‘struct boost::fusion::result_of::make_map<mpl_::int_<2>, const boost::spirit::repository::qi::subrule_definition<2, boost::fusion::vector0<void>, boost::spirit::unused_type, boost::spirit::unused_type&, boost::fusion::nil_, 0ul, boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::any_uint_parser<unsigned int, 10u, 1u, -1>, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<0, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::nil_> > > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::nil_> > > > >, false> >’
|
|---|
| 66 | defs_type;
|
|---|
| 67 | ^
|
|---|
| 68 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:446:46: error: no type named ‘type’ in ‘struct boost::fusion::result_of::make_map<mpl_::int_<2>, const boost::spirit::repository::qi::subrule_definition<2, boost::fusion::vector0<void>, boost::spirit::unused_type, boost::spirit::unused_type&, boost::fusion::nil_, 0ul, boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::any_uint_parser<unsigned int, 10u, 1u, -1>, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<0, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::nil_> > > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::cons<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::repository::qi::subrule<2, boost::spirit::unused_type, boost::spirit::unused_type> >, boost::fusion::nil_> > >, boost::fusion::nil_> > > > >, false> >’
|
|---|
| 69 | typedef subrule_group<defs_type> type;
|
|---|
| 70 | ^
|
|---|
| 71 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp: In instantiation of ‘client::calculator<Iterator>::calculator() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’:
|
|---|
| 72 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
|
|---|
| 73 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:54:24: error: no match for ‘operator=’ (operand types are ‘boost::spirit::repository::qi::subrule<2>’ and ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::uint_>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<0>&>, 2l>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l> >, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>}’)
|
|---|
| 74 | , factor =
|
|---|
| 75 | ^
|
|---|
| 76 | boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:54:24: note: candidates are:
|
|---|
| 77 | In file included from boost_1_57_0/boost/spirit/repository/include/qi_subrule.hpp:17:0,
|
|---|
| 78 | from boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:20:
|
|---|
| 79 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: template<class Expr> typename boost::spirit::repository::qi::subrule<ID_, T1, T2>::group_type_helper<Expr, false>::type boost::spirit::repository::qi::subrule<ID_, T1, T2>::operator=(const Expr&) const [with Expr = Expr; int ID_ = 2; T1 = boost::spirit::unused_type; T2 = boost::spirit::unused_type]
|
|---|
| 80 | operator=(Expr const& expr) const
|
|---|
| 81 | ^
|
|---|
| 82 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: substitution of deduced template arguments resulted in errors seen above
|
|---|
| 83 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: boost::spirit::repository::qi::subrule<2>& boost::spirit::repository::qi::subrule<2>::operator=(const boost::spirit::repository::qi::subrule<2>&)
|
|---|
| 84 | struct subrule
|
|---|
| 85 | ^
|
|---|
| 86 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: no known conversion for argument 1 from ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::uint_>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<0>&>, 2l>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l> >, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>}’ to ‘const boost::spirit::repository::qi::subrule<2>&’
|
|---|
| 87 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: boost::spirit::repository::qi::subrule<2>& boost::spirit::repository::qi::subrule<2>::operator=(boost::spirit::repository::qi::subrule<2>&&)
|
|---|
| 88 | boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:362:12: note: no known conversion for argument 1 from ‘const type {aka const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::uint_>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<0>&>, 2l>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l> >, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0l>, boost::spirit::repository::qi::subrule<2>&>, 2l>&>, 2l>}’ to ‘boost::spirit::repository::qi::subrule<2>&&’
|
|---|
| 89 |
|
|---|