Author
anonymous
about 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
about 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