Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

over 6 years ago

Language

C++

Compiler

gcc HEAD 9.0.0 20190109 (experimental)

Options
Boost 1.69.0
C++17(GNU)
no pedantic

Author

anonymous

over 6 years ago

$ g++ prog.cc -I/opt/wandbox/boost-1.69.0/gcc-head/include -std=gnu++17
prog.cc: In constructor 'json::numeric_t<Value>::numeric_t(const sign_type&)':
prog.cc:100:30: error: 'const sign_type' {aka 'const class boost::optional<json::numeric_sign_t>'} has no member named 'sign'; did you mean 'assign'?
  100 |                 : sign(other.sign)
      |                              ^~~~
      |                              assign
prog.cc:101:29: error: 'const sign_type' {aka 'const class boost::optional<json::numeric_sign_t>'} has no member named 'val'; did you mean 'value'?
  101 |                 , val(other.val) {}
      |                             ^~~
      |                             value
In file included from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:89,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant.hpp:17,
                 from prog.cc:2:
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/sizeof.hpp: In instantiation of 'struct boost::mpl::sizeof_<json::object_t>':
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/has_type.hpp:20:1:   required by substitution of 'template<class U> static char (& boost::mpl::aux::has_type<boost::mpl::sizeof_<json::object_t>, mpl_::bool_<true> >::gcc_3_2_wknd::test<U>(const volatile boost::mpl::aux::type_wrapper<T>*, boost::mpl::aux::type_wrapper<typename U::type>*))[2] [with U = boost::mpl::sizeof_<json::object_t>]'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/has_type.hpp:20:1:   required from 'const bool boost::mpl::aux::has_type<boost::mpl::sizeof_<json::object_t>, mpl_::bool_<true> >::value'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/has_type.hpp:20:1:   required from 'struct boost::mpl::aux::has_type<boost::mpl::sizeof_<json::object_t>, mpl_::bool_<true> >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp:32:36:   required from 'struct boost::mpl::quote1<boost::mpl::sizeof_, mpl_::void_>::apply<json::object_t>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp:36:8:   required from 'struct boost::mpl::apply_wrap1<boost::mpl::quote1<boost::mpl::sizeof_, mpl_::void_>, json::object_t>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp:144:21:   [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/transform.hpp:56:8:   required from 'struct boost::mpl::aux::reverse_transform1_impl<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > >, boost::mpl::sizeof_<mpl_::arg<1> >, boost::mpl::front_inserter<boost::mpl::l_end> >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/transform.hpp:113:1:   required from 'struct boost::mpl::transform1<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > >, boost::mpl::sizeof_<mpl_::arg<1> >, mpl_::na>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:131:57:   required from 'struct boost::detail::variant::max_value<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > >, boost::mpl::sizeof_<mpl_::arg<1> > >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:348:17:   required from 'struct boost::detail::variant::make_storage<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > >, boost::variant<json::null_t, json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> > >::has_fallback_type_>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:1380:17:   required from 'class boost::variant<json::null_t, json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> > >'
prog.cc:184:33:   required from here
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/sizeof.hpp:27:20: error: invalid application of 'sizeof' to incomplete type 'json::object_t'
   27 |     : mpl::size_t< sizeof(T) >
      |                    ^~~~~~~~~
In file included from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/include_preprocessed.hpp:37,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/comparison_op.hpp:35,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/less.hpp:19,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/advance.hpp:18,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/detail/apply_visitor_unary.hpp:30,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/apply_visitor.hpp:16,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/detail/hash_variant.hpp:23,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:34,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant.hpp:17,
                 from prog.cc:2:
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/less.hpp: In instantiation of 'struct boost::mpl::less_tag<boost::mpl::sizeof_<json::object_t> >':
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/less.hpp:67:8:   required from 'struct boost::mpl::less<mpl_::size_t<32>, boost::mpl::sizeof_<json::object_t> >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/has_type.hpp:20:1:   required by substitution of 'template<class U> static char (& boost::mpl::aux::has_type<boost::mpl::less<mpl_::size_t<32>, boost::mpl::sizeof_<json::object_t> >, mpl_::bool_<true> >::gcc_3_2_wknd::test<U>(const volatile boost::mpl::aux::type_wrapper<T>*, boost::mpl::aux::type_wrapper<typename U::type>*))[2] [with U = boost::mpl::less<mpl_::size_t<32>, boost::mpl::sizeof_<json::object_t> >]'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/has_type.hpp:20:1:   required from 'const bool boost::mpl::aux::has_type<boost::mpl::less<mpl_::size_t<32>, boost::mpl::sizeof_<json::object_t> >, mpl_::bool_<true> >::value'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/has_type.hpp:20:1:   required from 'struct boost::mpl::aux::has_type<boost::mpl::less<mpl_::size_t<32>, boost::mpl::sizeof_<json::object_t> >, mpl_::bool_<true> >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp:49:49:   required from 'struct boost::mpl::quote2<boost::mpl::less, mpl_::void_>::apply<mpl_::size_t<32>, boost::mpl::sizeof_<json::object_t> >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp:46:8:   [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/iter_fold.hpp:40:18:   required from 'struct boost::mpl::iter_fold<boost::mpl::l_item<mpl_::long_<7>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<6>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<5>, mpl_::size_t<32>, boost::mpl::l_item<mpl_::long_<4>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<3>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > > > > >, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<7>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<6>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<5>, mpl_::size_t<32>, boost::mpl::l_item<mpl_::long_<4>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<3>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > > > > > >, boost::mpl::protect<boost::mpl::aux::select_max<boost::mpl::less<mpl_::arg<-1>, mpl_::arg<-1> > >, 0> >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/max_element.hpp:59:8:   required from 'struct boost::mpl::max_element<boost::mpl::l_item<mpl_::long_<7>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<6>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<5>, mpl_::size_t<32>, boost::mpl::l_item<mpl_::long_<4>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<3>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > > > > >, boost::mpl::less<mpl_::arg<-1>, mpl_::arg<-1> > >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:134:17:   required from 'struct boost::detail::variant::max_value<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > >, boost::mpl::sizeof_<mpl_::arg<1> > >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:348:17:   required from 'struct boost::detail::variant::make_storage<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > >, boost::variant<json::null_t, json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> > >::has_fallback_type_>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:1380:17:   required from 'class boost::variant<json::null_t, json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> > >'
prog.cc:184:33:   required from here
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/less.hpp:60:29: error: no type named 'tag' in 'struct boost::mpl::sizeof_<json::object_t>'
   60 |     typedef typename T::tag type;
      |                             ^~~~
In file included from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/value_wknd.hpp:17,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:24,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant.hpp:17,
                 from prog.cc:2:
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/if.hpp: In instantiation of 'struct boost::mpl::if_<boost::mpl::less<mpl_::size_t<32>, boost::mpl::sizeof_<json::object_t> >, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > >, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<5>, mpl_::size_t<32>, boost::mpl::l_item<mpl_::long_<4>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<3>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > > > > >':
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/max_element.hpp:48:21:   required from 'struct boost::mpl::aux::select_max<boost::mpl::less<mpl_::arg<-1>, mpl_::arg<-1> > >::apply<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<5>, mpl_::size_t<32>, boost::mpl::l_item<mpl_::long_<4>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<3>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > > > >, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp:46:8:   required from 'struct boost::mpl::apply_wrap2<boost::mpl::protect<boost::mpl::aux::select_max<boost::mpl::less<mpl_::arg<-1>, mpl_::arg<-1> > >, 0>, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<5>, mpl_::size_t<32>, boost::mpl::l_item<mpl_::long_<4>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<3>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > > > >, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp:67:8:   required from 'struct boost::mpl::apply2<boost::mpl::protect<boost::mpl::aux::select_max<boost::mpl::less<mpl_::arg<-1>, mpl_::arg<-1> > >, 0>, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<5>, mpl_::size_t<32>, boost::mpl::l_item<mpl_::long_<4>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<3>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > > > >, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp:89:61:   required from 'struct boost::mpl::aux::iter_fold_impl<3, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<3>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > >, boost::mpl::l_iter<boost::mpl::l_end>, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<5>, mpl_::size_t<32>, boost::mpl::l_item<mpl_::long_<4>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<3>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > > > >, boost::mpl::protect<boost::mpl::aux::select_max<boost::mpl::less<mpl_::arg<-1>, mpl_::arg<-1> > >, 0> >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp:148:34:   required from 'struct boost::mpl::aux::iter_fold_impl<7, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<7>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<6>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<5>, mpl_::size_t<32>, boost::mpl::l_item<mpl_::long_<4>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<3>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > > > > > >, boost::mpl::l_iter<boost::mpl::l_end>, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<7>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<6>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<5>, mpl_::size_t<32>, boost::mpl::l_item<mpl_::long_<4>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<3>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > > > > > >, boost::mpl::protect<boost::mpl::aux::select_max<boost::mpl::less<mpl_::arg<-1>, mpl_::arg<-1> > >, 0> >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/iter_fold.hpp:40:18:   required from 'struct boost::mpl::iter_fold<boost::mpl::l_item<mpl_::long_<7>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<6>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<5>, mpl_::size_t<32>, boost::mpl::l_item<mpl_::long_<4>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<3>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > > > > >, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<7>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<6>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<5>, mpl_::size_t<32>, boost::mpl::l_item<mpl_::long_<4>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<3>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > > > > > >, boost::mpl::protect<boost::mpl::aux::select_max<boost::mpl::less<mpl_::arg<-1>, mpl_::arg<-1> > >, 0> >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/max_element.hpp:59:8:   required from 'struct boost::mpl::max_element<boost::mpl::l_item<mpl_::long_<7>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<6>, mpl_::size_t<4>, boost::mpl::l_item<mpl_::long_<5>, mpl_::size_t<32>, boost::mpl::l_item<mpl_::long_<4>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<3>, mpl_::size_t<24>, boost::mpl::l_item<mpl_::long_<2>, boost::mpl::sizeof_<json::object_t>, boost::mpl::l_item<mpl_::long_<1>, mpl_::size_t<24>, boost::mpl::l_end> > > > > > >, boost::mpl::less<mpl_::arg<-1>, mpl_::arg<-1> > >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:134:17:   required from 'struct boost::detail::variant::max_value<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > >, boost::mpl::sizeof_<mpl_::arg<1> > >'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:348:17:   required from 'struct boost::detail::variant::make_storage<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > >, boost::variant<json::null_t, json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> > >::has_fallback_type_>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:1380:17:   required from 'class boost::variant<json::null_t, json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> > >'
prog.cc:184:33:   required from here
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/static_cast.hpp:24:47: error: 'value' is not a member of 'boost::mpl::less<mpl_::size_t<32>, boost::mpl::sizeof_<json::object_t> >'
   24 | #   define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
      |                                               ^~~~~~~~~~~~~~~~~~~~
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/if.hpp:63:11: note: in expansion of macro 'BOOST_MPL_AUX_STATIC_CAST'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/static_cast.hpp:24:47: error: 'value' is not a member of 'boost::mpl::less<mpl_::size_t<32>, boost::mpl::sizeof_<json::object_t> >'
   24 | #   define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
      |                                               ^~~~~~~~~~~~~~~~~~~~
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/if.hpp:63:11: note: in expansion of macro 'BOOST_MPL_AUX_STATIC_CAST'
   63 |           BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/config.hpp:61,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/core/addressof.hpp:17,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/optional/optional.hpp:28,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/optional.hpp:15,
                 from prog.cc:1:
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/type_traits/alignment_of.hpp: In instantiation of 'const size_t boost::detail::alignment_of_impl<json::object_t>::value':
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/type_traits/alignment_of.hpp:88:27:   required from 'struct boost::alignment_of<json::object_t>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:146:12:   required from 'struct boost::detail::variant::add_alignment::apply<mpl_::size_t<8>, json::object_t>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp:46:8:   required from 'struct boost::mpl::apply_wrap2<boost::detail::variant::add_alignment, mpl_::size_t<8>, json::object_t>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp:67:8:   required from 'struct boost::mpl::apply2<boost::detail::variant::add_alignment, mpl_::size_t<8>, json::object_t>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp:89:85:   required from 'struct boost::mpl::aux::fold_impl<3, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > >, boost::mpl::l_iter<boost::mpl::l_end>, mpl_::size_t<8>, boost::detail::variant::add_alignment>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp:148:34:   required from 'struct boost::mpl::aux::fold_impl<7, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > > >, boost::mpl::l_iter<boost::mpl::l_end>, mpl_::size_t<1>, boost::detail::variant::add_alignment>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/fold.hpp:39:18:   required from 'struct boost::mpl::fold<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > >, mpl_::size_t<1>, boost::detail::variant::add_alignment>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:356:17:   required from 'struct boost::detail::variant::make_storage<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > >, boost::variant<json::null_t, json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> > >::has_fallback_type_>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:1380:17:   required from 'class boost::variant<json::null_t, json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> > >'
prog.cc:184:33:   required from here
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/type_traits/intrinsics.hpp:294:36: error: invalid application of '__alignof__' to incomplete type 'json::object_t'
  294 | #     define BOOST_ALIGNMENT_OF(T) __alignof__(T)
      |                                    ^~~~~~~~~~~~~~
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/type_traits/alignment_of.hpp:82:47: note: in expansion of macro 'BOOST_ALIGNMENT_OF'
   82 |    BOOST_STATIC_CONSTANT(std::size_t, value = BOOST_ALIGNMENT_OF(T));
      |                                               ^~~~~~~~~~~~~~~~~~
In file included from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant.hpp:17,
                 from prog.cc:2:
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp: In instantiation of 'struct boost::detail::variant::add_alignment::apply<mpl_::size_t<8>, json::object_t>':
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp:46:8:   required from 'struct boost::mpl::apply_wrap2<boost::detail::variant::add_alignment, mpl_::size_t<8>, json::object_t>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp:67:8:   required from 'struct boost::mpl::apply2<boost::detail::variant::add_alignment, mpl_::size_t<8>, json::object_t>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp:89:85:   required from 'struct boost::mpl::aux::fold_impl<3, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > >, boost::mpl::l_iter<boost::mpl::l_end>, mpl_::size_t<8>, boost::detail::variant::add_alignment>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp:148:34:   required from 'struct boost::mpl::aux::fold_impl<7, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > > >, boost::mpl::l_iter<boost::mpl::l_end>, mpl_::size_t<1>, boost::detail::variant::add_alignment>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/fold.hpp:39:18:   required from 'struct boost::mpl::fold<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > >, mpl_::size_t<1>, boost::detail::variant::add_alignment>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:356:17:   required from 'struct boost::detail::variant::make_storage<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > >, boost::variant<json::null_t, json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> > >::has_fallback_type_>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:1380:17:   required from 'class boost::variant<json::null_t, json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> > >'
prog.cc:184:33:   required from here
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:146:12: error: 'value' is not a member of 'boost::alignment_of<json::object_t>'
  146 |     struct apply
      |            ^~~~~
In file included from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/include_preprocessed.hpp:37,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/fold_impl.hpp:34,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/fold.hpp:20,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:70,
                 from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant.hpp:17,
                 from prog.cc:2:
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp: In instantiation of 'struct boost::mpl::aux::fold_impl<3, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > >, boost::mpl::l_iter<boost::mpl::l_end>, mpl_::size_t<8>, boost::detail::variant::add_alignment>':
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp:148:34:   required from 'struct boost::mpl::aux::fold_impl<7, boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > > >, boost::mpl::l_iter<boost::mpl::l_end>, mpl_::size_t<1>, boost::detail::variant::add_alignment>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/fold.hpp:39:18:   required from 'struct boost::mpl::fold<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > >, mpl_::size_t<1>, boost::detail::variant::add_alignment>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:356:17:   required from 'struct boost::detail::variant::make_storage<boost::mpl::l_item<mpl_::long_<7>, json::null_t, boost::mpl::l_item<mpl_::long_<6>, json::boolean_t, boost::mpl::l_item<mpl_::long_<5>, std::__cxx11::basic_string<char>, boost::mpl::l_item<mpl_::long_<4>, json::floating_point_number_t, boost::mpl::l_item<mpl_::long_<3>, json::integer_number_t, boost::mpl::l_item<mpl_::long_<2>, json::object_t, boost::mpl::l_item<mpl_::long_<1>, std::vector<json::value_t>, boost::mpl::l_end> > > > > > >, boost::variant<json::null_t, json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> > >::has_fallback_type_>'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:1380:17:   required from 'class boost::variant<json::null_t, json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> > >'
prog.cc:184:33:   required from here
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp:89:85: error: no type named 'type' in 'struct boost::mpl::apply2<boost::detail::variant::add_alignment, mpl_::size_t<8>, json::object_t>'
   89 |     typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
      |                                                                                     ^~~~~~
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp:91:85: error: no type named 'type' in 'struct boost::mpl::apply2<boost::detail::variant::add_alignment, mpl_::size_t<8>, json::object_t>'
   91 |     typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
      |                                                                                     ^~~~~~
In file included from /opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant.hpp:17,
                 from prog.cc:2:
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp: In instantiation of 'typename boost::enable_if<boost::is_rvalue_reference<T&&> >::type boost::variant<T0, TN>::convert_construct(T&&, int, mpl_::false_) [with T = json::object_t; T0_ = json::null_t; TN = {json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> >}; typename boost::enable_if<boost::is_rvalue_reference<T&&> >::type = void; mpl_::false_ = mpl_::bool_<false>]':
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:1858:9:   required from 'boost::variant<T0, TN>::variant(T&&, typename boost::enable_if<boost::mpl::or_<boost::mpl::and_<boost::is_rvalue_reference<T&&>, boost::mpl::not_<boost::is_const<T> >, boost::mpl::not_<boost::is_same<T, boost::variant<T0, TN> > >, boost::detail::variant::is_variant_constructible_from<T&&, typename boost::mpl::transform<typename boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, boost::mpl::transform<typename boost::mpl::eval_if<boost::variant<T0, TN>::is_sequence_based_, typename boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, boost::mpl::identity<T> >::type, boost::detail::variant::make_variant_list<typename boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, boost::mpl::identity<T> >::type, TN ...> >::type, boost::mpl::protect<boost::detail::variant::quoted_enable_recursive<boost::variant<T0, TN> > > >, boost::mpl::identity<typename boost::mpl::eval_if<boost::variant<T0, TN>::is_sequence_based_, typename boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, boost::mpl::identity<T> >::type, boost::detail::variant::make_variant_list<typename boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, boost::mpl::identity<T> >::type, TN ...> >::type> >::type, boost::mpl::protect<boost::detail::make_reference_content<boost::detail::void_type> > >::type> >, boost::is_same<T, boost::recursive_variant_> > >::type*) [with T = json::object_t; T0_ = json::null_t; TN = {json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> >}; typename boost::enable_if<boost::mpl::or_<boost::mpl::and_<boost::is_rvalue_reference<T&&>, boost::mpl::not_<boost::is_const<T> >, boost::mpl::not_<boost::is_same<T, boost::variant<T0, TN> > >, boost::detail::variant::is_variant_constructible_from<T&&, typename boost::mpl::transform<typename boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, boost::mpl::transform<typename boost::mpl::eval_if<boost::variant<T0, TN>::is_sequence_based_, typename boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, boost::mpl::identity<T> >::type, boost::detail::variant::make_variant_list<typename boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, boost::mpl::identity<T> >::type, TN ...> >::type, boost::mpl::protect<boost::detail::variant::quoted_enable_recursive<boost::variant<T0, TN> > > >, boost::mpl::identity<typename boost::mpl::eval_if<boost::variant<T0, TN>::is_sequence_based_, typename boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, boost::mpl::identity<T> >::type, boost::detail::variant::make_variant_list<typename boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, boost::mpl::identity<T> >::type, TN ...> >::type> >::type, boost::mpl::protect<boost::detail::make_reference_content<boost::detail::void_type> > >::type> >, boost::is_same<T, boost::recursive_variant_> > >::type = void]'
prog.cc:186:30:   required from here
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:1688:19: error: using invalid field 'boost::variant<T0, TN>::storage_'
 1688 |                   storage_.address()
      |                   ^~~~~~~~
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp: In instantiation of 'typename Visitor::result_type boost::variant<T0, TN>::internal_apply_visitor(Visitor&) [with Visitor = boost::detail::variant::destroyer; T0_ = json::null_t; TN = {json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> >}; typename Visitor::result_type = void]':
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:1474:9:   required from 'void boost::variant<T0, TN>::destroy_content() [with T0_ = json::null_t; TN = {json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> >}]'
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:1481:9:   required from 'boost::variant<T0, TN>::~variant() [with T0_ = json::null_t; TN = {json::boolean_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, json::floating_point_number_t, json::integer_number_t, json::object_t, std::vector<json::value_t, std::allocator<json::value_t> >}]'
prog.cc:186:30:   required from here
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:2467:41: error: using invalid field 'boost::variant<T0, TN>::storage_'
 2467 |               which_, which(), visitor, storage_.address()
      |                                         ^~~~~~~~
/opt/wandbox/boost-1.69.0/gcc-head/include/boost/variant/variant.hpp:2468:13: error: return-statement with a value, in function returning 'boost::static_visitor<>::result_type' {aka 'void'} [-fpermissive]
 2468 |             );
      |             ^
Exit Code:
1