Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

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