Author
anonymous
about 5 years ago
Language
Compiler
Options
Author
anonymous
about 5 years ago
$
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/sequence.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator.hpp:10,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3.hpp:19,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp: In instantiation of 'struct boost::spirit::x3::detail::partition_attribute<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >, boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, void>':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:310:15: required from 'bool boost::spirit::x3::detail::parse_sequence(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, AttributeCategory) [with Parser = boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; AttributeCategory = boost::spirit::x3::traits::plain_attribute]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/sequence.hpp:44:42: required from 'bool boost::spirit::x3::sequence<Left, Right>::parse(Iterator&, const Iterator&, const Context&, RContext&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Left = boost::spirit::x3::int_parser<int>; Right = boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/alternative.hpp:253:20: required from 'bool boost::spirit::x3::detail::parse_alternative(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&) [with Parser = boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/alternative.hpp:39:45: required from 'bool boost::spirit::x3::alternative<Left, Right>::parse(Iterator&, const Iterator&, const Context&, RContext&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Left = boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Right = boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/detail/rule.hpp:208:31: required from 'static bool boost::spirit::x3::detail::rule_parser<Attribute, ID>::parse_rhs_main(const RHS&, Iterator&, const Iterator&, const Context&, RContext&, ActualAttribute&, mpl_::false_) [with RHS = boost::spirit::x3::alternative<boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ActualAttribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; mpl_::false_ = mpl_::bool_<false>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/detail/rule.hpp:268:34: [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/rule.hpp:62:39: required from 'bool boost::spirit::x3::rule_definition<ID, RHS, Attribute, force_attribute_>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; RHS = boost::spirit::x3::alternative<boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; bool force_attribute_ = false]'
prog.cc:33:1: required from 'bool parse_rule(boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >, Iterator&, const Iterator&, const Context&, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >::attribute_type&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >::attribute_type = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/rule.hpp:123:27: required from 'bool boost::spirit::x3::rule<ID, Attribute, force_attribute>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; bool force_attribute_ = false]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/parse.hpp:119:36: required from 'bool boost::spirit::x3::phrase_parse_main(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Parser = boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/parse.hpp:151:33: required from 'bool boost::spirit::x3::phrase_parse(const Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Parser = boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
prog.cc:39:82: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:135:72: error: static assertion failed: The parser expects tuple-like attribute type
135 | static_assert(is_same<traits::tuple_attribute, attr_category>::value,
| ^~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/view/joint_view/joint_view.hpp:16,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/algorithm/transformation/push_back.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp:21,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/view/iterator_range/detail/segments_impl.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/view/iterator_range/iterator_range.hpp:22,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/view/iterator_range.hpp:11,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp:13,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/sequence/intrinsic/begin.hpp:18,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/container/deque/deque.hpp:36,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/container/deque.hpp:13,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/include/deque.hpp:11,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/support/traits/container_traits.hpp:14,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/auxiliary/any_parser.hpp:15,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/auxiliary.hpp:11,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3.hpp:14,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/sequence/intrinsic/size.hpp: In instantiation of 'struct boost::fusion::extension::size_impl<boost::fusion::non_fusion_tag>::unsegmented_size<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/sequence/intrinsic/size.hpp:37:20: required from 'struct boost::fusion::extension::size_impl<boost::fusion::non_fusion_tag>::apply<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/sequence/intrinsic/size.hpp:69:16: required from 'struct boost::fusion::result_of::size<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:141:80: required from 'constexpr const int boost::spirit::x3::detail::partition_attribute<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >, boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, void>::actual_size'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:148:13: required from 'struct boost::spirit::x3::detail::partition_attribute<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >, boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, void>'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:310:15: required from 'bool boost::spirit::x3::detail::parse_sequence(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, AttributeCategory) [with Parser = boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; AttributeCategory = boost::spirit::x3::traits::plain_attribute]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/sequence.hpp:44:42: [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/rule.hpp:62:39: required from 'bool boost::spirit::x3::rule_definition<ID, RHS, Attribute, force_attribute_>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; RHS = boost::spirit::x3::alternative<boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; bool force_attribute_ = false]'
prog.cc:33:1: required from 'bool parse_rule(boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >, Iterator&, const Iterator&, const Context&, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >::attribute_type&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >::attribute_type = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/rule.hpp:123:27: required from 'bool boost::spirit::x3::rule<ID, Attribute, force_attribute>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; bool force_attribute_ = false]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/parse.hpp:119:36: required from 'bool boost::spirit::x3::phrase_parse_main(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Parser = boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/parse.hpp:151:33: required from 'bool boost::spirit::x3::phrase_parse(const Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Parser = boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
prog.cc:39:82: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/sequence/intrinsic/size.hpp:34:20: error: no type named 'size' in 'class std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >'
34 | struct unsegmented_size : Sequence::size {};
| ^~~~~~~~~~~~~~~~
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/sequence/intrinsic/size.hpp: In instantiation of 'struct boost::fusion::result_of::size<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:141:80: required from 'constexpr const int boost::spirit::x3::detail::partition_attribute<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >, boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, void>::actual_size'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:148:13: required from 'struct boost::spirit::x3::detail::partition_attribute<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >, boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, void>'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:310:15: required from 'bool boost::spirit::x3::detail::parse_sequence(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, AttributeCategory) [with Parser = boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; AttributeCategory = boost::spirit::x3::traits::plain_attribute]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/sequence.hpp:44:42: required from 'bool boost::spirit::x3::sequence<Left, Right>::parse(Iterator&, const Iterator&, const Context&, RContext&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Left = boost::spirit::x3::int_parser<int>; Right = boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/alternative.hpp:253:20: required from 'bool boost::spirit::x3::detail::parse_alternative(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&) [with Parser = boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/alternative.hpp:39:45: [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/rule.hpp:62:39: required from 'bool boost::spirit::x3::rule_definition<ID, RHS, Attribute, force_attribute_>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; RHS = boost::spirit::x3::alternative<boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; bool force_attribute_ = false]'
prog.cc:33:1: required from 'bool parse_rule(boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >, Iterator&, const Iterator&, const Context&, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >::attribute_type&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >::attribute_type = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/rule.hpp:123:27: required from 'bool boost::spirit::x3::rule<ID, Attribute, force_attribute>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; bool force_attribute_ = false]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/parse.hpp:119:36: required from 'bool boost::spirit::x3::phrase_parse_main(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Parser = boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/parse.hpp:151:33: required from 'bool boost::spirit::x3::phrase_parse(const Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Parser = boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
prog.cc:39:82: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/fusion/sequence/intrinsic/size.hpp:69:16: error: no type named 'type' in 'struct boost::fusion::extension::size_impl<boost::fusion::non_fusion_tag>::apply<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >'
69 | struct size
| ^~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/sequence.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator.hpp:10,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3.hpp:19,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp: In instantiation of 'constexpr const int boost::spirit::x3::detail::partition_attribute<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >, boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, void>::actual_size':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:148:13: required from 'struct boost::spirit::x3::detail::partition_attribute<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >, boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, void>'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:310:15: required from 'bool boost::spirit::x3::detail::parse_sequence(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, AttributeCategory) [with Parser = boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; AttributeCategory = boost::spirit::x3::traits::plain_attribute]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/sequence.hpp:44:42: required from 'bool boost::spirit::x3::sequence<Left, Right>::parse(Iterator&, const Iterator&, const Context&, RContext&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Left = boost::spirit::x3::int_parser<int>; Right = boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/alternative.hpp:253:20: required from 'bool boost::spirit::x3::detail::parse_alternative(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&) [with Parser = boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/alternative.hpp:39:45: required from 'bool boost::spirit::x3::alternative<Left, Right>::parse(Iterator&, const Iterator&, const Context&, RContext&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Left = boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Right = boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/detail/rule.hpp:208:31: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/rule.hpp:62:39: required from 'bool boost::spirit::x3::rule_definition<ID, RHS, Attribute, force_attribute_>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; RHS = boost::spirit::x3::alternative<boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; bool force_attribute_ = false]'
prog.cc:33:1: required from 'bool parse_rule(boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >, Iterator&, const Iterator&, const Context&, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >::attribute_type&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >::attribute_type = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/rule.hpp:123:27: required from 'bool boost::spirit::x3::rule<ID, Attribute, force_attribute>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; bool force_attribute_ = false]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/parse.hpp:119:36: required from 'bool boost::spirit::x3::phrase_parse_main(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Parser = boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/parse.hpp:151:33: required from 'bool boost::spirit::x3::phrase_parse(const Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Parser = boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
prog.cc:39:82: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:141:80: error: 'value' is not a member of 'boost::fusion::result_of::size<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >'
141 | static int constexpr actual_size = fusion::result_of::size<Attribute>::value;
| ^~~~~
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp: In instantiation of 'struct boost::spirit::x3::detail::partition_attribute<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >, boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, void>':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:310:15: required from 'bool boost::spirit::x3::detail::parse_sequence(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, AttributeCategory) [with Parser = boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; AttributeCategory = boost::spirit::x3::traits::plain_attribute]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/sequence.hpp:44:42: required from 'bool boost::spirit::x3::sequence<Left, Right>::parse(Iterator&, const Iterator&, const Context&, RContext&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Left = boost::spirit::x3::int_parser<int>; Right = boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/alternative.hpp:253:20: required from 'bool boost::spirit::x3::detail::parse_alternative(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&) [with Parser = boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/alternative.hpp:39:45: required from 'bool boost::spirit::x3::alternative<Left, Right>::parse(Iterator&, const Iterator&, const Context&, RContext&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Left = boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Right = boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/detail/rule.hpp:208:31: required from 'static bool boost::spirit::x3::detail::rule_parser<Attribute, ID>::parse_rhs_main(const RHS&, Iterator&, const Iterator&, const Context&, RContext&, ActualAttribute&, mpl_::false_) [with RHS = boost::spirit::x3::alternative<boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ActualAttribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; mpl_::false_ = mpl_::bool_<false>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/detail/rule.hpp:268:34: [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/rule.hpp:62:39: required from 'bool boost::spirit::x3::rule_definition<ID, RHS, Attribute, force_attribute_>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; RHS = boost::spirit::x3::alternative<boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; bool force_attribute_ = false]'
prog.cc:33:1: required from 'bool parse_rule(boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >, Iterator&, const Iterator&, const Context&, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >::attribute_type&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >::attribute_type = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/rule.hpp:123:27: required from 'bool boost::spirit::x3::rule<ID, Attribute, force_attribute>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; bool force_attribute_ = false]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/parse.hpp:119:36: required from 'bool boost::spirit::x3::phrase_parse_main(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Parser = boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/parse.hpp:151:33: required from 'bool boost::spirit::x3::phrase_parse(const Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Parser = boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
prog.cc:39:82: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:148:25: error: non-constant condition for static assertion
148 | actual_size >= expected_size
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:152:25: error: non-constant condition for static assertion
152 | actual_size <= expected_size
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:156:68: error: no type named 'type' in 'struct boost::fusion::result_of::begin<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >'
156 | typedef typename fusion::result_of::begin<Attribute>::type l_begin;
| ^~~~~~~
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:157:78: error: no type named 'type' in 'struct boost::fusion::result_of::begin<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >'
157 | typedef typename fusion::result_of::advance_c<l_begin, l_size>::type l_end;
| ^~~~~
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:158:66: error: no type named 'type' in 'struct boost::fusion::result_of::end<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >'
158 | typedef typename fusion::result_of::end<Attribute>::type r_end;
| ^~~~~
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:159:56: error: no type named 'type' in 'struct boost::fusion::result_of::begin<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >'
159 | typedef fusion::iterator_range<l_begin, l_end> l_part;
| ^~~~~~
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:160:54: error: no type named 'type' in 'struct boost::fusion::result_of::begin<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >'
160 | typedef fusion::iterator_range<l_end, r_end> r_part;
| ^~~~~~
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:161:52: error: no type named 'type' in 'struct boost::fusion::result_of::begin<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >'
161 | typedef pass_sequence_attribute<L, l_part> l_pass;
| ^~~~~~
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/detail/sequence.hpp:162:52: error: no type named 'type' in 'struct boost::fusion::result_of::begin<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >'
162 | typedef pass_sequence_attribute<R, r_part> r_pass;
| ^~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/auxiliary/any_parser.hpp:15,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/auxiliary.hpp:11,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3.hpp:14,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/support/traits/container_traits.hpp: In instantiation of 'struct boost::spirit::x3::traits::container_value<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >, void>':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:95:19: required from 'static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize_x(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::false_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Parser = boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char>; mpl_::false_ = mpl_::bool_<false>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:131:37: required from 'static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Parser = boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:186:35: required from 'static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize_dispatch_by_seq(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::false_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Parser = boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char>; mpl_::false_ = mpl_::bool_<false>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:195:51: required from 'static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::true_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Parser = boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char>; mpl_::true_ = mpl_::bool_<true>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:217:24: required from 'static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Parser = boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:306:74: [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/rule.hpp:62:39: required from 'bool boost::spirit::x3::rule_definition<ID, RHS, Attribute, force_attribute_>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; RHS = boost::spirit::x3::alternative<boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; bool force_attribute_ = false]'
prog.cc:33:1: required from 'bool parse_rule(boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >, Iterator&, const Iterator&, const Context&, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >::attribute_type&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >::attribute_type = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/rule.hpp:123:27: required from 'bool boost::spirit::x3::rule<ID, Attribute, force_attribute>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; bool force_attribute_ = false]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/parse.hpp:119:36: required from 'bool boost::spirit::x3::phrase_parse_main(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Parser = boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/parse.hpp:151:33: required from 'bool boost::spirit::x3::phrase_parse(const Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Parser = boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
prog.cc:39:82: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/support/traits/container_traits.hpp:76:12: error: no type named 'value_type' in 'class std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >'
76 | struct container_value
| ^~~~~~~~~~~~~~~
In file included from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/directive/expect.hpp:12,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/auxiliary/guard.hpp:11,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/auxiliary.hpp:13,
from /opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3.hpp:14,
from prog.cc:4:
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp: In instantiation of 'static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize_x(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::false_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Parser = boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char>; mpl_::false_ = mpl_::bool_<false>]':
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:131:37: required from 'static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Parser = boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:186:35: required from 'static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize_dispatch_by_seq(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::false_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Parser = boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char>; mpl_::false_ = mpl_::bool_<false>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:195:51: required from 'static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::true_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Parser = boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char>; mpl_::true_ = mpl_::bool_<true>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:217:24: required from 'static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Parser = boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char>]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:306:74: required from 'bool boost::spirit::x3::detail::parse_into_container(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&) [with Parser = boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char>; Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/operator/kleene.hpp:32:48: [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/rule.hpp:62:39: required from 'bool boost::spirit::x3::rule_definition<ID, RHS, Attribute, force_attribute_>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; RHS = boost::spirit::x3::alternative<boost::spirit::x3::sequence<boost::spirit::x3::int_parser<int>, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >, boost::spirit::x3::alternative<boost::spirit::x3::kleene<boost::spirit::x3::char_set<boost::spirit::char_encoding::standard, char> >, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > > > >; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; bool force_attribute_ = false]'
prog.cc:33:1: required from 'bool parse_rule(boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >, Iterator&, const Iterator&, const Context&, boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >::attribute_type&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >::attribute_type = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/nonterminal/rule.hpp:123:27: required from 'bool boost::spirit::x3::rule<ID, Attribute, force_attribute>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; ID = Base_; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >; bool force_attribute_ = false]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/parse.hpp:119:36: required from 'bool boost::spirit::x3::phrase_parse_main(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Parser = boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/parse.hpp:151:33: required from 'bool boost::spirit::x3::phrase_parse(const Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; Parser = boost::spirit::x3::rule<Base_, std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> > >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >]'
prog.cc:39:82: required from here
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:95:19: error: no type named 'type' in 'struct boost::spirit::x3::traits::container_value<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >, void>'
95 | using value_type = typename traits::container_value<Attribute>::type;
| ^~~~~~~~~~
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:96:19: error: no type named 'type' in 'struct boost::spirit::x3::traits::container_value<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >, void>'
96 | using pseudo = traits::pseudo_attribute<Context, value_type, Iterator>;
| ^~~~~~
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:97:35: error: no type named 'type' in 'struct boost::spirit::x3::traits::container_value<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >, void>'
97 | typename pseudo::type val = pseudo::call(
| ^~~
/opt/wandbox/boost-1.72.0/gcc-head/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp:97:35: error: no type named 'type' in 'struct boost::spirit::x3::traits::container_value<std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_wrapper<Recurse> >, void>'
Exit Code:
1