Author
anonymous
about 5 years ago
Language
C++
Compiler
gcc HEAD 10.0.1 20200321 (experimental)
Options
Warnings
Boost 1.72.0
C++2a(GNU)
no pedantic
Author
anonymous
about 5 years ago
$ g++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.72.0/gcc-head/include -std=gnu++2a
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/expr.hpp:4,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/expr.hpp:137,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/expr_variadic.hpp: In instantiation of 'const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>&, typename boost::proto::result_of::as_child<const A>::type>, 2> boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>::operator[](const A&) const [with A = boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&, 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&>, 2>; Tag = boost::proto::tagns_::tag::terminal; Arg0 = boost::spirit::tag::lexeme; typename boost::proto::result_of::as_child<const A>::type = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&, 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&>, 2>&]':
prog.cc:21:71: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/expr_variadic.hpp:215:20: warning: implicitly-declared 'constexpr boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::lexeme>, 0>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&, 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&>, 2>&>, 2>::expr(const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::lexeme>, 0>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&, 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&>, 2>&>, 2>&)' is deprecated [-Wdeprecated-copy]
215 | return that;
| ^~~~
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/expr_variadic.hpp:578:9: note: because 'boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::lexeme>, 0>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&, 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&>, 2>&>, 2>' has user-provided 'const boost::proto::exprns_::expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&, const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&>, 2> boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>::operator=(const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&) [with Tag = boost::proto::tagns_::tag::subscript; Arg0 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::lexeme>, 0>&; Arg1 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&, 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&>, 2>&]'
578 | operator =(expr const &a)
| ^~~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/make_expr_.hpp:3,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/make_expr.hpp:100,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/fusion.hpp:31,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:21,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/make_expr_.hpp: In instantiation of 'boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::result_type boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::operator()(typename boost::add_reference<A0>::type, typename boost::add_reference<A1>::type) const [with Tag = boost::proto::tagns_::tag::bitwise_or; Domain = boost::proto::domainns_::default_domain; A0 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&; A1 = const char&; boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::result_type = boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>; typename boost::add_reference<A0>::type = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&; typename boost::add_reference<A1>::type = const char&]':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/operators.hpp:295:9: required from 'const typename boost::proto::detail::enable_binary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, boost::mpl::or_<boost::proto::is_extension<Arg>, boost::proto::is_extension<Right> >, boost::proto::tagns_::tag::bitwise_or, const Left&, const Right&>::type boost::proto::exprns_::operator|(Left&&, Right&&) [with Left = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&; Right = char; typename boost::proto::detail::enable_binary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, boost::mpl::or_<boost::proto::is_extension<Arg>, boost::proto::is_extension<Right> >, boost::proto::tagns_::tag::bitwise_or, const Left&, const Right&>::type = boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>]'
prog.cc:21:67: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/make_expr_.hpp:80:42: warning: implicitly-declared 'constexpr boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>::expr(const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&)' is deprecated [-Wdeprecated-copy]
80 | return proto_generator()(that);
| ^
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/expr.hpp:4,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/expr.hpp:137,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/expr_variadic.hpp:578:9: note: because 'boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>' has user-provided 'const boost::proto::exprns_::expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&, const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&>, 2> boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>::operator=(const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&) [with Tag = boost::proto::tagns_::tag::bitwise_or; Arg0 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&; Arg1 = boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0>]'
578 | operator =(expr const &a)
| ^~~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/make_expr_.hpp:3,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/make_expr.hpp:100,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/fusion.hpp:31,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:21,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/make_expr_.hpp: In instantiation of 'boost::proto::detail::make_expr_<Tag, Domain, A0, void, void, void, void, void, void, void, void, void, void>::result_type boost::proto::detail::make_expr_<Tag, Domain, A0, void, void, void, void, void, void, void, void, void, void>::operator()(typename boost::add_reference<A0>::type) const [with Tag = boost::proto::tagns_::tag::dereference; Domain = boost::proto::domainns_::default_domain; A0 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&; boost::proto::detail::make_expr_<Tag, Domain, A0, void, void, void, void, void, void, void, void, void, void>::result_type = 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>; typename boost::add_reference<A0>::type = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&]':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/operators.hpp:295:9: required from 'const typename boost::proto::detail::enable_unary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, boost::proto::is_extension<Arg>, boost::proto::tagns_::tag::dereference, const Arg&>::type boost::proto::exprns_::operator*(Arg&&) [with Arg = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>; typename boost::proto::detail::enable_unary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, boost::proto::is_extension<Arg>, boost::proto::tagns_::tag::dereference, const Arg&>::type = 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>]'
prog.cc:21:70: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/make_expr_.hpp:50:42: warning: implicitly-declared 'constexpr 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>::expr(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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&)' is deprecated [-Wdeprecated-copy]
50 | return proto_generator()(that);
| ^
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/expr.hpp:4,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/expr.hpp:137,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/expr_variadic.hpp:388:9: note: because '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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>' has user-provided 'const boost::proto::exprns_::expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list1<Arg0>, 1>&, const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list1<Arg0>, 1>&>, 2> boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list1<Arg0>, 1>::operator=(const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list1<Arg0>, 1>&) [with Tag = boost::proto::tagns_::tag::dereference; Arg0 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&]'
388 | operator =(expr const &a)
| ^~~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/make_expr_.hpp:3,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/make_expr.hpp:100,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/fusion.hpp:31,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:21,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/make_expr_.hpp: In instantiation of 'boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::result_type boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::operator()(typename boost::add_reference<A0>::type, typename boost::add_reference<A1>::type) const [with Tag = boost::proto::tagns_::tag::shift_right; Domain = boost::proto::domainns_::default_domain; A0 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&; A1 = 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&; boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::result_type = boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&, 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&>, 2>; typename boost::add_reference<A0>::type = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&; typename boost::add_reference<A1>::type = 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&]':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/operators.hpp:295:9: required from 'const typename boost::proto::detail::enable_binary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, boost::mpl::or_<boost::proto::is_extension<Arg>, boost::proto::is_extension<Right> >, boost::proto::tagns_::tag::shift_right, const Left&, const Right&>::type boost::proto::exprns_::operator>>(Left&&, Right&&) [with Left = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&; Right = 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>; typename boost::proto::detail::enable_binary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, boost::mpl::or_<boost::proto::is_extension<Arg>, boost::proto::is_extension<Right> >, boost::proto::tagns_::tag::shift_right, const Left&, const Right&>::type = boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&, 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&>, 2>]'
prog.cc:21:70: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/make_expr_.hpp:80:42: warning: implicitly-declared 'constexpr boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&, 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&>, 2>::expr(const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&, 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&>, 2>&)' is deprecated [-Wdeprecated-copy]
80 | return proto_generator()(that);
| ^
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/expr.hpp:4,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/expr.hpp:137,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/expr_variadic.hpp:578:9: note: because 'boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&, 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&>, 2>' has user-provided 'const boost::proto::exprns_::expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&, const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&>, 2> boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>::operator=(const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&) [with Tag = boost::proto::tagns_::tag::shift_right; Arg0 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&; Arg1 = 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&]'
578 | operator =(expr const &a)
| ^~~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:23,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/extends.hpp: In instantiation of 'boost::proto::exprns_::extends<Expr, Derived, Domain, 0>::extends(const Expr&) [with Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()> > >, 0>; Derived = boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>; Domain = boost::proto::domainns_::default_domain]':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/nonterminal/rule.hpp:192:23: required from 'boost::spirit::qi::rule<Iterator, T1, T2, T3, T4>::rule(const Expr&, const string&) [with Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::lexeme>, 0>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&, 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&>, 2>&>, 2>; Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; T1 = boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>; T2 = boost::spirit::utree(); T3 = boost::spirit::unused_type; T4 = boost::spirit::unused_type; std::string = std::__cxx11::basic_string<char>]'
prog.cc:21:71: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/extends.hpp:550:34: warning: implicitly-declared 'constexpr boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()> > >, 0>::expr(const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()> > >, 0>&)' is deprecated [-Wdeprecated-copy]
550 | : proto_expr_(expr_)
| ^
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/expr.hpp:4,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/expr.hpp:137,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/expr_variadic.hpp:96:9: note: because 'boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()> > >, 0>' has user-provided 'const boost::proto::exprns_::expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>&, const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>&>, 2> boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>::operator=(const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>&) [with Tag = boost::proto::tagns_::tag::terminal; Arg0 = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()> >]'
96 | operator =(expr const &a)
| ^~~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/make_expr_.hpp:3,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/make_expr.hpp:100,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/fusion.hpp:31,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:21,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/make_expr_.hpp: In instantiation of 'boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::result_type boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::operator()(typename boost::add_reference<A0>::type, typename boost::add_reference<A1>::type) const [with Tag = boost::proto::tagns_::tag::shift_right; Domain = boost::proto::domainns_::default_domain; A0 = const char&; A1 = boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&; boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::result_type = 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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>; typename boost::add_reference<A0>::type = const char&; typename boost::add_reference<A1>::type = boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&]':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/operators.hpp:295:9: required from 'const typename boost::proto::detail::enable_binary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, boost::mpl::or_<boost::proto::is_extension<Arg>, boost::proto::is_extension<Right> >, boost::proto::tagns_::tag::shift_right, const Left&, const Right&>::type boost::proto::exprns_::operator>>(Left&&, Right&&) [with Left = char; Right = boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&; typename boost::proto::detail::enable_binary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, boost::mpl::or_<boost::proto::is_extension<Arg>, boost::proto::is_extension<Right> >, boost::proto::tagns_::tag::shift_right, const Left&, const Right&>::type = 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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>]'
prog.cc:24:38: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/make_expr_.hpp:80:42: warning: implicitly-declared 'constexpr 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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>::expr(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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&)' is deprecated [-Wdeprecated-copy]
80 | return proto_generator()(that);
| ^
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/expr.hpp:4,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/expr.hpp:137,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/expr_variadic.hpp:578:9: note: because '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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>' has user-provided 'const boost::proto::exprns_::expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&, const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&>, 2> boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>::operator=(const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&) [with Tag = boost::proto::tagns_::tag::shift_right; Arg0 = boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0>; Arg1 = boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&]'
578 | operator =(expr const &a)
| ^~~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/make_expr_.hpp:3,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/make_expr.hpp:100,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/fusion.hpp:31,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:21,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/make_expr_.hpp: In instantiation of 'boost::proto::detail::make_expr_<Tag, Domain, A0, void, void, void, void, void, void, void, void, void, void>::result_type boost::proto::detail::make_expr_<Tag, Domain, A0, void, void, void, void, void, void, void, void, void, void>::operator()(typename boost::add_reference<A0>::type) const [with Tag = boost::proto::tagns_::tag::dereference; Domain = boost::proto::domainns_::default_domain; A0 = 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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&; boost::proto::detail::make_expr_<Tag, Domain, A0, void, void, void, void, void, void, void, void, void, void>::result_type = boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&>, 1>; typename boost::add_reference<A0>::type = 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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&]':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/operators.hpp:295:9: required from 'const typename boost::proto::detail::enable_unary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, boost::proto::is_extension<Arg>, boost::proto::tagns_::tag::dereference, const Arg&>::type boost::proto::exprns_::operator*(Arg&&) [with Arg = 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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>; typename boost::proto::detail::enable_unary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, boost::proto::is_extension<Arg>, boost::proto::tagns_::tag::dereference, const Arg&>::type = boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&>, 1>]'
prog.cc:24:48: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/make_expr_.hpp:50:42: warning: implicitly-declared 'constexpr boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&>, 1>::expr(const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&>, 1>&)' is deprecated [-Wdeprecated-copy]
50 | return proto_generator()(that);
| ^
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/expr.hpp:4,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/expr.hpp:137,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/expr_variadic.hpp:388:9: note: because 'boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&>, 1>' has user-provided 'const boost::proto::exprns_::expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list1<Arg0>, 1>&, const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list1<Arg0>, 1>&>, 2> boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list1<Arg0>, 1>::operator=(const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list1<Arg0>, 1>&) [with Tag = boost::proto::tagns_::tag::dereference; Arg0 = 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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&]'
388 | operator =(expr const &a)
| ^~~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/make_expr_.hpp:3,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/make_expr.hpp:100,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/fusion.hpp:31,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:21,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/make_expr_.hpp: In instantiation of 'boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::result_type boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::operator()(typename boost::add_reference<A0>::type, typename boost::add_reference<A1>::type) const [with Tag = boost::proto::tagns_::tag::shift_right; Domain = boost::proto::domainns_::default_domain; A0 = boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&; A1 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&>, 1>&; boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::result_type = boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&>, 1>&>, 2>; typename boost::add_reference<A0>::type = boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&; typename boost::add_reference<A1>::type = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&>, 1>&]':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/operators.hpp:295:9: required from 'const typename boost::proto::detail::enable_binary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, boost::mpl::or_<boost::proto::is_extension<Arg>, boost::proto::is_extension<Right> >, boost::proto::tagns_::tag::shift_right, const Left&, const Right&>::type boost::proto::exprns_::operator>>(Left&&, Right&&) [with Left = boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&; Right = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&>, 1>; typename boost::proto::detail::enable_binary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, boost::mpl::or_<boost::proto::is_extension<Arg>, boost::proto::is_extension<Right> >, boost::proto::tagns_::tag::shift_right, const Left&, const Right&>::type = boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&>, 1>&>, 2>]'
prog.cc:24:48: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/make_expr_.hpp:80:42: warning: implicitly-declared 'constexpr boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&>, 1>&>, 2>::expr(const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&>, 1>&>, 2>&)' is deprecated [-Wdeprecated-copy]
80 | return proto_generator()(that);
| ^
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/expr.hpp:4,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/expr.hpp:137,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/expr_variadic.hpp:578:9: note: because 'boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&>, 1>&>, 2>' has user-provided 'const boost::proto::exprns_::expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&, const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&>, 2> boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>::operator=(const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::list2<Arg0, Arg1>, 2>&) [with Tag = boost::proto::tagns_::tag::shift_right; Arg0 = boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&; Arg1 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<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&>, 0>, boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()>&>, 2>&>, 1>&]'
578 | operator =(expr const &a)
| ^~~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/expr.hpp: In instantiation of 'Expr boost::proto::detail::make_terminal(T&, Expr*, boost::proto::argsns_::term<Arg0>*) [with T = const boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()> >; Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()> > >, 0>; Arg0 = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()> >]':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/expr_variadic.hpp:81:41: required from 'static const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0> boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>::make(const A0&) [with A0 = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()> >; Tag = boost::proto::tagns_::tag::terminal; Arg0 = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/nonterminal/rule.hpp:191:37: required from 'boost::spirit::qi::rule<Iterator, T1, T2, T3, T4>::rule(const Expr&, const string&) [with Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::lexeme>, 0>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alpha, boost::spirit::char_encoding::ascii> >, 0>&, 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::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>&>, 1>&>, 2>&>, 2>; Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; T1 = boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>; T2 = boost::spirit::utree(); T3 = boost::spirit::unused_type; T4 = boost::spirit::unused_type; std::string = std::__cxx11::basic_string<char>]'
prog.cc:21:71: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/expr.hpp:66:20: warning: implicitly-declared 'constexpr boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()> > >, 0>::expr(const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()> > >, 0>&)' is deprecated [-Wdeprecated-copy]
66 | return that;
| ^~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/expr.hpp:4,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/expr.hpp:137,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/expr_variadic.hpp:96:9: note: because 'boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()> > >, 0>' has user-provided 'const boost::proto::exprns_::expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>&, const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>&>, 2> boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>::operator=(const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>&) [with Tag = boost::proto::tagns_::tag::terminal; Arg0 = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::blank, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::utree()> >]'
96 | operator =(expr const &a)
| ^~~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/expr.hpp: In instantiation of 'Expr boost::proto::detail::make_terminal(T&, Expr*, boost::proto::argsns_::term<Arg0>*) [with T = const char; Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0>; Arg0 = const char&]':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/expr_variadic.hpp:81:41: required from 'static const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0> boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>::make(const A0&) [with A0 = char; Tag = boost::proto::tagns_::tag::terminal; Arg0 = const char&]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/as_expr.hpp:159:37: required from 'boost::proto::detail::as_child<T, boost::proto::default_generator, false>::result_type boost::proto::detail::as_child<T, boost::proto::default_generator, false>::operator()(T&) const [with T = const char; boost::proto::detail::as_child<T, boost::proto::default_generator, false>::result_type = boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/make_expr_.hpp:78:118: required from 'boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::result_type boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::operator()(typename boost::add_reference<A0>::type, typename boost::add_reference<A1>::type) const [with Tag = boost::proto::tagns_::tag::bitwise_or; Domain = boost::proto::domainns_::default_domain; A0 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&; A1 = const char&; boost::proto::detail::make_expr_<Tag, Domain, A0, A1, void, void, void, void, void, void, void, void, void>::result_type = boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>; typename boost::add_reference<A0>::type = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&; typename boost::add_reference<A1>::type = const char&]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/operators.hpp:295:9: required from 'const typename boost::proto::detail::enable_binary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, boost::mpl::or_<boost::proto::is_extension<Arg>, boost::proto::is_extension<Right> >, boost::proto::tagns_::tag::bitwise_or, const Left&, const Right&>::type boost::proto::exprns_::operator|(Left&&, Right&&) [with Left = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&; Right = char; typename boost::proto::detail::enable_binary<boost::proto::domainns_::deduce_domain, boost::proto::detail::not_a_grammar, boost::mpl::or_<boost::proto::is_extension<Arg>, boost::proto::is_extension<Right> >, boost::proto::tagns_::tag::bitwise_or, const Left&, const Right&>::type = boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum, boost::spirit::char_encoding::ascii> >, 0>&, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0> >, 2>]'
prog.cc:21:67: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/expr.hpp:66:20: warning: implicitly-declared 'constexpr boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0>::expr(const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0>&)' is deprecated [-Wdeprecated-copy]
66 | return that;
| ^~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/expr.hpp:4,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/expr.hpp:137,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/core.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/proto.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/meta_compiler.hpp:19,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi/action.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/qi.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/qi.hpp:16,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/proto/detail/preprocessed/expr_variadic.hpp:96:9: note: because 'boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const char&>, 0>' has user-provided 'const boost::proto::exprns_::expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>&, const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>&>, 2> boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>::operator=(const boost::proto::exprns_::expr<Tag, boost::proto::argsns_::term<Arg>, 0>&) [with Tag = boost::proto::tagns_::tag::terminal; Arg0 = const char&]'
96 | operator =(expr const &a)
| ^~~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/support_utree.hpp:16,
from prog.cc:5:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp: In instantiation of 'To boost::spirit::utree_cast<To>::dispatch(const From&, mpl_::true_) const [with From = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::string_type>; To = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::string_type>; mpl_::true_ = mpl_::bool_<true>]':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:1548:28: required from 'To boost::spirit::utree_cast<To>::operator()(const From&) const [with From = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::string_type>; To = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::string_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:485:29: required from 'static typename F::result_type boost::spirit::detail::visit_impl<UTreeX, UTreeY>::apply(UTreeX&, F) [with F = boost::spirit::utree_cast<boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::string_type> >; UTreeX = const boost::spirit::utree; UTreeY = const boost::spirit::utree; typename F::result_type = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::string_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:974:54: required from 'static typename boost::result_of<F(const boost::spirit::utree&)>::type boost::spirit::utree::visit(const boost::spirit::utree&, F) [with F = boost::spirit::utree_cast<boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::string_type> >; typename boost::result_of<F(const boost::spirit::utree&)>::type = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::string_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:1574:28: required from 'T boost::spirit::utree::get() const [with T = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::string_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/utree_traits.hpp:37:24: required from 'T boost::get(const boost::spirit::utree&) [with T = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::string_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/utree_traits.hpp:402:63: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:1528:20: warning: implicitly-declared 'constexpr boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::string_type>::basic_string(const boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::string_type>&)' is deprecated [-Wdeprecated-copy]
1528 | return To(val); // From is convertible to To
| ^~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree.hpp:15,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/support_utree.hpp:16,
from prog.cc:5:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/utree.hpp:188:23: note: because 'boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::string_type>' has user-provided 'boost::spirit::basic_string<Base, type_>& boost::spirit::basic_string<Base, type_>::operator=(const boost::spirit::basic_string<Base, type_>&) [with Base = boost::iterator_range<const char*>; boost::spirit::utree_type::info type_ = boost::spirit::utree_type::string_type]'
188 | basic_string& operator=(basic_string const& other)
| ^~~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/support_utree.hpp:16,
from prog.cc:5:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp: In instantiation of 'To boost::spirit::utree_cast<To>::dispatch(const From&, mpl_::true_) const [with From = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::symbol_type>; To = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::symbol_type>; mpl_::true_ = mpl_::bool_<true>]':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:1548:28: required from 'To boost::spirit::utree_cast<To>::operator()(const From&) const [with From = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::symbol_type>; To = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::symbol_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:491:29: required from 'static typename F::result_type boost::spirit::detail::visit_impl<UTreeX, UTreeY>::apply(UTreeX&, F) [with F = boost::spirit::utree_cast<boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::symbol_type> >; UTreeX = const boost::spirit::utree; UTreeY = const boost::spirit::utree; typename F::result_type = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::symbol_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:974:54: required from 'static typename boost::result_of<F(const boost::spirit::utree&)>::type boost::spirit::utree::visit(const boost::spirit::utree&, F) [with F = boost::spirit::utree_cast<boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::symbol_type> >; typename boost::result_of<F(const boost::spirit::utree&)>::type = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::symbol_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:1574:28: required from 'T boost::spirit::utree::get() const [with T = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::symbol_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/utree_traits.hpp:37:24: required from 'T boost::get(const boost::spirit::utree&) [with T = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::symbol_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/utree_traits.hpp:447:63: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:1528:20: warning: implicitly-declared 'constexpr boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::symbol_type>::basic_string(const boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::symbol_type>&)' is deprecated [-Wdeprecated-copy]
1528 | return To(val); // From is convertible to To
| ^~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree.hpp:15,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/support_utree.hpp:16,
from prog.cc:5:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/utree.hpp:188:23: note: because 'boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::symbol_type>' has user-provided 'boost::spirit::basic_string<Base, type_>& boost::spirit::basic_string<Base, type_>::operator=(const boost::spirit::basic_string<Base, type_>&) [with Base = boost::iterator_range<const char*>; boost::spirit::utree_type::info type_ = boost::spirit::utree_type::symbol_type]'
188 | basic_string& operator=(basic_string const& other)
| ^~~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree.hpp:17,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/support_utree.hpp:16,
from prog.cc:5:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp: In instantiation of 'To boost::spirit::utree_cast<To>::dispatch(const From&, mpl_::true_) const [with From = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::binary_type>; To = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::binary_type>; mpl_::true_ = mpl_::bool_<true>]':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:1548:28: required from 'To boost::spirit::utree_cast<To>::operator()(const From&) const [with From = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::binary_type>; To = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::binary_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:494:29: required from 'static typename F::result_type boost::spirit::detail::visit_impl<UTreeX, UTreeY>::apply(UTreeX&, F) [with F = boost::spirit::utree_cast<boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::binary_type> >; UTreeX = const boost::spirit::utree; UTreeY = const boost::spirit::utree; typename F::result_type = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::binary_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:974:54: required from 'static typename boost::result_of<F(const boost::spirit::utree&)>::type boost::spirit::utree::visit(const boost::spirit::utree&, F) [with F = boost::spirit::utree_cast<boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::binary_type> >; typename boost::result_of<F(const boost::spirit::utree&)>::type = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::binary_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:1574:28: required from 'T boost::spirit::utree::get() const [with T = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::binary_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/utree_traits.hpp:37:24: required from 'T boost::get(const boost::spirit::utree&) [with T = boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::binary_type>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/utree_traits.hpp:491:58: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/detail/utree_detail2.hpp:1528:20: warning: implicitly-declared 'constexpr boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::binary_type>::basic_string(const boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::binary_type>&)' is deprecated [-Wdeprecated-copy]
1528 | return To(val); // From is convertible to To
| ^~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree.hpp:15,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/include/support_utree.hpp:16,
from prog.cc:5:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/support/utree/utree.hpp:188:23: note: because 'boost::spirit::basic_string<boost::iterator_range<const char*>, boost::spirit::utree_type::binary_type>' has user-provided 'boost::spirit::basic_string<Base, type_>& boost::spirit::basic_string<Base, type_>::operator=(const boost::spirit::basic_string<Base, type_>&) [with Base = boost::iterator_range<const char*>; boost::spirit::utree_type::info type_ = boost::spirit::utree_type::binary_type]'
188 | basic_string& operator=(basic_string const& other)
| ^~~~~~~~
OK:
( "a" )
----
OK:
( "a" "b" )
----
OK:
( "a" "b" )
----
OK:
( "a" "b" "c" )
----
Exit Code:
0