Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

almost 4 years ago

Language

C++

Compiler

gcc 10.1.0

Options
Warnings
Boost 1.73.0
C++17
no pedantic

Author

anonymous

almost 4 years ago

$ g++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.73.0/gcc-10.1.0/include -std=c++17
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/type_traits/is_convertible.hpp:20,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/fusion/support/detail/is_native_fusion_sequence.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/fusion/support/detail/is_mpl_sequence.hpp:12,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/fusion/support/tag_of.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/fusion/support/category_of.hpp:11,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/fusion/adapted/struct/detail/extension.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/fusion/adapted/struct/adapt_assoc_struct.hpp:19,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp:12,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/fusion/adapted/struct.hpp:14,
                 from prog.cc:1:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/nonterminal/grammar.hpp: In instantiation of 'boost::spirit::qi::grammar<Iterator, T1, T2, T3, T4>::grammar(const boost::spirit::qi::rule<Iterator_, T1_, T2_, T3_, T4_>&, const string&) [with Iterator_ = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; T1_ = project::RawValue(); T2_ = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >; T3_ = boost::spirit::unused_type; T4_ = boost::spirit::unused_type; Iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; T1 = project::RawValue(); T2 = boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >, 0>; T3 = boost::spirit::unused_type; T4 = boost::spirit::unused_type; std::string = std::__cxx11::basic_string<char>]':
prog.cc:22:52:   required from here
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/nonterminal/grammar.hpp:78:77: error: static assertion failed: incompatible_start_rule
   78 |                 (is_same<start_type, rule<Iterator_, T1_, T2_, T3_, T4_> >::value)
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/static_assert.hpp:31:59: note: in definition of macro 'BOOST_STATIC_ASSERT_MSG'
   31 | #     define BOOST_STATIC_ASSERT_MSG( ... ) static_assert(__VA_ARGS__)
      |                                                           ^~~~~~~~~~~
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/nonterminal/grammar.hpp:77:13: note: in expansion of macro 'BOOST_SPIRIT_ASSERT_MSG'
   77 |             BOOST_SPIRIT_ASSERT_MSG(
      |             ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/expr.hpp:4,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/expr.hpp:137,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/extends.hpp:31,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:24,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>&>, 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::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>&>, 2>&]':
prog.cc:28:53:   required from here
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>&>, 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::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>&>, 2>&>, 2>&)' is deprecated [-Wdeprecated-copy]
  215 |             return that;
      |                    ^~~~
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>&>, 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::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>&>, 2>&]'
  578 |         operator =(expr const &a)
      |         ^~~~~~~~
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:24,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/extends.hpp: In instantiation of 'boost::proto::exprns_::extends<Expr, Derived, Domain, 0>::extends() [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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::unused_type, boost::spirit::unused_type> > >, 0>; Derived = boost::spirit::qi::grammar<__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >, 0> >; Domain = boost::proto::domainns_::default_domain]':
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/nonterminal/grammar.hpp:73:9:   required from 'boost::spirit::qi::grammar<Iterator, T1, T2, T3, T4>::grammar(const boost::spirit::qi::rule<Iterator_, T1_, T2_, T3_, T4_>&, const string&) [with Iterator_ = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; T1_ = project::RawValue(); T2_ = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >; T3_ = boost::spirit::unused_type; T4_ = boost::spirit::unused_type; Iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; T1 = project::RawValue(); T2 = boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >, 0>; T3 = boost::spirit::unused_type; T4 = boost::spirit::unused_type; std::string = std::__cxx11::basic_string<char>]'
prog.cc:22:52:   required from here
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/extends.hpp:540:29: error: use of deleted function '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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::unused_type, boost::spirit::unused_type> > >, 0>::expr()'
  540 |               : proto_expr_()
      |                             ^
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/expr.hpp:4,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/expr.hpp:137,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/extends.hpp:31,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:24,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/preprocessed/expr_variadic.hpp:37:12: note: '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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::unused_type, boost::spirit::unused_type> > >, 0>::expr()' is implicitly deleted because the default definition would be ill-formed:
   37 |     struct expr<Tag, term<Arg0>, 0>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/preprocessed/expr_variadic.hpp:37:12: error: no matching function for call to 'boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::unused_type, boost::spirit::unused_type> >::reference()'
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/nonterminal/rule.hpp:36,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/nonterminal.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:21,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/reference.hpp:31:9: note: candidate: 'boost::spirit::qi::reference<Subject>::reference(Subject&) [with Subject = const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::unused_type, boost::spirit::unused_type>]'
   31 |         reference(Subject& subject)
      |         ^~~~~~~~~
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/reference.hpp:31:9: note:   candidate expects 1 argument, 0 provided
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/reference.hpp:27:12: note: candidate: 'constexpr boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::unused_type, boost::spirit::unused_type> >::reference(const boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::unused_type, boost::spirit::unused_type> >&)'
   27 |     struct reference : parser<reference<Subject> >
      |            ^~~~~~~~~
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/reference.hpp:27:12: note:   candidate expects 1 argument, 0 provided
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/reference.hpp:27:12: note: candidate: 'constexpr boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::unused_type, boost::spirit::unused_type> >::reference(boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >, 0>, boost::spirit::unused_type, boost::spirit::unused_type> >&&)'
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/reference.hpp:27:12: note:   candidate expects 1 argument, 0 provided
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:24,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > > > >, 0>; Derived = boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > >; Domain = boost::proto::domainns_::default_domain]':
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/nonterminal/rule.hpp:168:23:   required from 'boost::spirit::qi::rule<Iterator, T1, T2, T3, T4>::rule(const string&) [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; T1 = project::RawValue(); T2 = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >; T3 = boost::spirit::unused_type; T4 = boost::spirit::unused_type; std::string = std::__cxx11::basic_string<char>]'
prog.cc:22:52:   required from here
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > > > >, 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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > > > >, 0>&)' is deprecated [-Wdeprecated-copy]
  550 |               : proto_expr_(expr_)
      |                                  ^
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/expr.hpp:4,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/expr.hpp:137,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/extends.hpp:31,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:24,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > > > >, 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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > > >]'
   96 |         operator =(expr const &a)
      |         ^~~~~~~~
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/make_expr_.hpp:3,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/make_expr.hpp:100,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:25,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::minus; Domain = boost::proto::domainns_::default_domain; A0 = const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&; A1 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&; 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::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>; typename boost::add_reference<A0>::type = const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&; typename boost::add_reference<A1>::type = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&]':
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::minus, const Left&, const Right&>::type boost::proto::exprns_::operator-(Left&&, Right&&) [with Left = const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&; Right = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&; 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::minus, const Left&, const Right&>::type = boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>]'
prog.cc:28:30:   required from here
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/preprocessed/make_expr_.hpp:80:42: warning: implicitly-declared 'constexpr boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>::expr(const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&)' is deprecated [-Wdeprecated-copy]
   80 |             return proto_generator()(that);
      |                                          ^
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/expr.hpp:4,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/expr.hpp:137,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/extends.hpp:31,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:24,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/preprocessed/expr_variadic.hpp:578:9: note: because 'boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 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::minus; Arg0 = const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&; Arg1 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&]'
  578 |         operator =(expr const &a)
      |         ^~~~~~~~
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/make_expr_.hpp:3,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/make_expr.hpp:100,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:25,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 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::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>; typename boost::add_reference<A0>::type = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&]':
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 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::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>]'
prog.cc:28:33:   required from here
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 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::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&)' is deprecated [-Wdeprecated-copy]
   50 |             return proto_generator()(that);
      |                                          ^
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/expr.hpp:4,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/expr.hpp:137,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/extends.hpp:31,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:24,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 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::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&]'
  388 |         operator =(expr const &a)
      |         ^~~~~~~~
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/make_expr_.hpp:3,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/make_expr.hpp:100,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:25,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::minus; Domain = boost::proto::domainns_::default_domain; A0 = const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&; A1 = const 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::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::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>; typename boost::add_reference<A0>::type = const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&; typename boost::add_reference<A1>::type = const 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>&]':
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::minus, const Left&, const Right&>::type boost::proto::exprns_::operator-(Left&&, Right&&) [with Left = const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&; Right = const 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>&; 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::minus, const Left&, const Right&>::type = boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>]'
prog.cc:28:47:   required from here
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/preprocessed/make_expr_.hpp:80:42: warning: implicitly-declared 'constexpr boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>::expr(const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>&)' is deprecated [-Wdeprecated-copy]
   80 |             return proto_generator()(that);
      |                                          ^
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/expr.hpp:4,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/expr.hpp:137,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/extends.hpp:31,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:24,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/preprocessed/expr_variadic.hpp:578:9: note: because 'boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 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::minus; Arg0 = const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&; Arg1 = const 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>&]'
  578 |         operator =(expr const &a)
      |         ^~~~~~~~
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/make_expr_.hpp:3,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/make_expr.hpp:100,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:25,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&; A1 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>&; 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::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>&>, 2>; typename boost::add_reference<A0>::type = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&; typename boost::add_reference<A1>::type = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>&]':
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>; Right = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>; 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::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>&>, 2>]'
prog.cc:28:52:   required from here
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>&>, 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::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>&>, 2>&)' is deprecated [-Wdeprecated-copy]
   80 |             return proto_generator()(that);
      |                                          ^
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/expr.hpp:4,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/expr.hpp:137,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/extends.hpp:31,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:24,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 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::shift_right; Arg0 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0>&>, 2>&>, 1>&; Arg1 = const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> >&, const 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>&>, 2>&]'
  578 |         operator =(expr const &a)
      |         ^~~~~~~~
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/extends.hpp:31,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:24,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > > >; 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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > > > >, 0>; Arg0 = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > > >]':
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > > >; Tag = boost::proto::tagns_::tag::terminal; Arg0 = boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > > >]'
/opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/nonterminal/rule.hpp:167:37:   required from 'boost::spirit::qi::rule<Iterator, T1, T2, T3, T4>::rule(const string&) [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; T1 = project::RawValue(); T2 = boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> >; T3 = boost::spirit::unused_type; T4 = boost::spirit::unused_type; std::string = std::__cxx11::basic_string<char>]'
prog.cc:22:52:   required from here
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > > > >, 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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > > > >, 0>&)' is deprecated [-Wdeprecated-copy]
   66 |             return that;
      |                    ^~~~
In file included from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/detail/expr.hpp:4,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/expr.hpp:137,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/proto/extends.hpp:31,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/phoenix/core/actor.hpp:24,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/make_component.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/support/meta_compiler.hpp:17,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/meta_compiler.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi/action.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/home/qi.hpp:14,
                 from /opt/wandbox/boost-1.73.0/gcc-10.1.0/include/boost/spirit/include/qi.hpp:16,
                 from prog.cc:2:
/opt/wandbox/boost-1.73.0/gcc-10.1.0/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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > > > >, 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<const char*, std::__cxx11::basic_string<char> >, project::RawValue(), boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space, boost::spirit::char_encoding::standard> > > >]'
   96 |         operator =(expr const &a)
      |         ^~~~~~~~
Exit Code:
1