Ticket #11115: calc1_sr_g++482_output.txt

File calc1_sr_g++482_output.txt, 34.2 KB (added by alan.n.davies@…, 8 years ago)

g++ 4.8.2 error for calc1_sr.cpp

Line 
1$ g++ -std=c++11 boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp -Iboost_1_57_0
2
3In 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:
5boost_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>’:
6boost_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>]’
7boost_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> >]’
8boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
9boost_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 ^
12boost_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 ^
15boost_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> >]’:
16boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
17boost_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 ^
20boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:42:28: note: candidates are:
21In 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:
23boost_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 ^
26boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: substitution of deduced template arguments resulted in errors seen above
27boost_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 ^
30boost_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>&’
31boost_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>&&)
32boost_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>&&’
33boost_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>’:
34boost_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>]’
35boost_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> >]’
36boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
37boost_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 ^
40boost_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 ^
43boost_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> >]’:
44boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
45boost_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 ^
48boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:48:22: note: candidates are:
49In 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:
51boost_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 ^
54boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: substitution of deduced template arguments resulted in errors seen above
55boost_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 ^
58boost_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>&’
59boost_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>&&)
60boost_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>&&’
61boost_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>’:
62boost_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>]’
63boost_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> >]’
64boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
65boost_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 ^
68boost_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 ^
71boost_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> >]’:
72boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:86:16: required from here
73boost_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 ^
76boost_1_57_0/libs/spirit/repository/example/qi/calc1_sr.cpp:54:24: note: candidates are:
77In 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:
79boost_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 ^
82boost_1_57_0/boost/spirit/repository/home/qi/nonterminal/subrule.hpp:451:9: note: substitution of deduced template arguments resulted in errors seen above
83boost_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 ^
86boost_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>&’
87boost_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>&&)
88boost_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