Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

over 8 years ago

Language

Compiler

Options

Author

anonymous

over 8 years ago

$
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1759:35: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::mpl::not_<boost::is_same<var_type, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<const var_type &, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        typename boost::enable_if<mpl::and_<
                                  ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:25:12: note: while substituting deduced template arguments into function template 'var_type' [with T = var_type]
  var_type v1 = 1;
           ^
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1770:37: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::mpl::not_<boost::is_const<var_type> >, boost::mpl::not_<boost::is_same<var_type, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<var_type &, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true>, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        , typename boost::enable_if<mpl::and_<
                                    ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:25:12: note: while substituting deduced template arguments into function template 'var_type' [with T = var_type]
  var_type v1 = 1;
           ^
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1783:35: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::is_rvalue_reference<var_type &&>, boost::mpl::not_<boost::is_const<var_type> >, boost::mpl::not_<boost::is_same<var_type, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<var_type &&, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        typename boost::enable_if<mpl::and_<
                                  ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:25:12: note: while substituting deduced template arguments into function template 'var_type' [with T = var_type]
  var_type v1 = 1;
           ^
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1759:35: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::mpl::not_<boost::is_same<var_type, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<const var_type &, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        typename boost::enable_if<mpl::and_<
                                  ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:18:8: note: while substituting deduced template arguments into function template 'var_type' [with T = var_type]
struct var_type : var_base
       ^
/usr/local/boost-1.62.0/include/boost/type_traits/is_nothrow_move_constructible.hpp:50:54: note: during template argument deduction for class template partial specialization 'false_or_cpp11_noexcept_move_constructible<type-parameter-0-0, typename enable_if_c<sizeof(T) && noexcept((T(::boost::declval<T>()))), void>::type>' [with T = boost::recursive_wrapper<node1_type<var_type> >]
   : public integral_constant<bool, ::boost::detail::false_or_cpp11_noexcept_move_constructible<T>::value>{};
                                                     ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/has_type.hpp:20:1: note: in instantiation of template class 'boost::is_nothrow_move_constructible<boost::recursive_wrapper<node1_type<var_type> > >' requested here
BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_type, type, true)
^
/usr/local/boost-1.62.0/include/boost/mpl/has_xxx.hpp:245:65: note: expanded from macro 'BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF'
            , boost::mpl::aux::type_wrapper<BOOST_MSVC_TYPENAME U::name>* = 0 \
                                                                ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/has_type.hpp:20:1: note: while substituting deduced template arguments into function template 'test' [with U = boost::is_nothrow_move_constructible<boost::recursive_wrapper<node1_type<var_type> > >]
/usr/local/boost-1.62.0/include/boost/mpl/has_xxx.hpp:253:18: note: expanded from macro 'BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF'
          sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) \
                 ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp:36:20: note: (skipping 20 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
            , aux::has_type< F<U1> >::value
                   ^
/usr/local/boost-1.62.0/include/boost/mpl/iter_fold_if.hpp:102:20: note: in instantiation of member class 'boost::mpl::iter_fold_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, void, mpl_::arg<1>, boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >, 0>, mpl_::na, mpl_::na>::result_' requested here
          typename result_::state
                   ^
/usr/local/boost-1.62.0/include/boost/mpl/find_if.hpp:34:22: note: in instantiation of template class 'boost::mpl::iter_fold_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, void, mpl_::arg<1>, boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >, 0>, mpl_::na, mpl_::na>' requested here
    typedef typename iter_fold_if<
                     ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:230:34: note: in instantiation of template class 'boost::mpl::find_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >' requested here
    typedef typename boost::mpl::find_if<
                                 ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1808:50: note: in instantiation of template class 'boost::detail::variant::is_variant_move_noexcept_constructible<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >' requested here
    variant(variant&& operand) BOOST_NOEXCEPT_IF(variant_move_noexcept_constructible::type::value)
                                                 ^
prog.cc:18:8: note: in instantiation of exception specification for 'variant' requested here
struct var_type : var_base
       ^
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1770:37: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::mpl::not_<boost::is_const<const var_type> >, boost::mpl::not_<boost::is_same<const var_type, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<const var_type &, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true>, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        , typename boost::enable_if<mpl::and_<
                                    ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:18:8: note: while substituting deduced template arguments into function template 'var_type' [with T = const var_type]
struct var_type : var_base
       ^
/usr/local/boost-1.62.0/include/boost/type_traits/is_nothrow_move_constructible.hpp:50:54: note: during template argument deduction for class template partial specialization 'false_or_cpp11_noexcept_move_constructible<type-parameter-0-0, typename enable_if_c<sizeof(T) && noexcept((T(::boost::declval<T>()))), void>::type>' [with T = boost::recursive_wrapper<node1_type<var_type> >]
   : public integral_constant<bool, ::boost::detail::false_or_cpp11_noexcept_move_constructible<T>::value>{};
                                                     ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/has_type.hpp:20:1: note: in instantiation of template class 'boost::is_nothrow_move_constructible<boost::recursive_wrapper<node1_type<var_type> > >' requested here
BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_type, type, true)
^
/usr/local/boost-1.62.0/include/boost/mpl/has_xxx.hpp:245:65: note: expanded from macro 'BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF'
            , boost::mpl::aux::type_wrapper<BOOST_MSVC_TYPENAME U::name>* = 0 \
                                                                ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/has_type.hpp:20:1: note: while substituting deduced template arguments into function template 'test' [with U = boost::is_nothrow_move_constructible<boost::recursive_wrapper<node1_type<var_type> > >]
/usr/local/boost-1.62.0/include/boost/mpl/has_xxx.hpp:253:18: note: expanded from macro 'BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF'
          sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) \
                 ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp:36:20: note: (skipping 20 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
            , aux::has_type< F<U1> >::value
                   ^
/usr/local/boost-1.62.0/include/boost/mpl/iter_fold_if.hpp:102:20: note: in instantiation of member class 'boost::mpl::iter_fold_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, void, mpl_::arg<1>, boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >, 0>, mpl_::na, mpl_::na>::result_' requested here
          typename result_::state
                   ^
/usr/local/boost-1.62.0/include/boost/mpl/find_if.hpp:34:22: note: in instantiation of template class 'boost::mpl::iter_fold_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, void, mpl_::arg<1>, boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >, 0>, mpl_::na, mpl_::na>' requested here
    typedef typename iter_fold_if<
                     ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:230:34: note: in instantiation of template class 'boost::mpl::find_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >' requested here
    typedef typename boost::mpl::find_if<
                                 ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1808:50: note: in instantiation of template class 'boost::detail::variant::is_variant_move_noexcept_constructible<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >' requested here
    variant(variant&& operand) BOOST_NOEXCEPT_IF(variant_move_noexcept_constructible::type::value)
                                                 ^
prog.cc:18:8: note: in instantiation of exception specification for 'variant' requested here
struct var_type : var_base
       ^
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1783:35: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::is_rvalue_reference<const var_type &>, boost::mpl::not_<boost::is_const<const var_type &> >, boost::mpl::not_<boost::is_same<const var_type &, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<const var_type &, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        typename boost::enable_if<mpl::and_<
                                  ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:18:8: note: while substituting deduced template arguments into function template 'var_type' [with T = const var_type &]
struct var_type : var_base
       ^
/usr/local/boost-1.62.0/include/boost/type_traits/is_nothrow_move_constructible.hpp:50:54: note: during template argument deduction for class template partial specialization 'false_or_cpp11_noexcept_move_constructible<type-parameter-0-0, typename enable_if_c<sizeof(T) && noexcept((T(::boost::declval<T>()))), void>::type>' [with T = boost::recursive_wrapper<node1_type<var_type> >]
   : public integral_constant<bool, ::boost::detail::false_or_cpp11_noexcept_move_constructible<T>::value>{};
                                                     ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/has_type.hpp:20:1: note: in instantiation of template class 'boost::is_nothrow_move_constructible<boost::recursive_wrapper<node1_type<var_type> > >' requested here
BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_type, type, true)
^
/usr/local/boost-1.62.0/include/boost/mpl/has_xxx.hpp:245:65: note: expanded from macro 'BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF'
            , boost::mpl::aux::type_wrapper<BOOST_MSVC_TYPENAME U::name>* = 0 \
                                                                ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/has_type.hpp:20:1: note: while substituting deduced template arguments into function template 'test' [with U = boost::is_nothrow_move_constructible<boost::recursive_wrapper<node1_type<var_type> > >]
/usr/local/boost-1.62.0/include/boost/mpl/has_xxx.hpp:253:18: note: expanded from macro 'BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF'
          sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) \
                 ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp:36:20: note: (skipping 20 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
            , aux::has_type< F<U1> >::value
                   ^
/usr/local/boost-1.62.0/include/boost/mpl/iter_fold_if.hpp:102:20: note: in instantiation of member class 'boost::mpl::iter_fold_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, void, mpl_::arg<1>, boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >, 0>, mpl_::na, mpl_::na>::result_' requested here
          typename result_::state
                   ^
/usr/local/boost-1.62.0/include/boost/mpl/find_if.hpp:34:22: note: in instantiation of template class 'boost::mpl::iter_fold_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, void, mpl_::arg<1>, boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >, 0>, mpl_::na, mpl_::na>' requested here
    typedef typename iter_fold_if<
                     ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:230:34: note: in instantiation of template class 'boost::mpl::find_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >' requested here
    typedef typename boost::mpl::find_if<
                                 ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1808:50: note: in instantiation of template class 'boost::detail::variant::is_variant_move_noexcept_constructible<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >' requested here
    variant(variant&& operand) BOOST_NOEXCEPT_IF(variant_move_noexcept_constructible::type::value)
                                                 ^
prog.cc:18:8: note: in instantiation of exception specification for 'variant' requested here
struct var_type : var_base
       ^
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1759:35: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::mpl::not_<boost::is_same<var_type, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<const var_type &, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        typename boost::enable_if<mpl::and_<
                                  ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:18:8: note: while substituting deduced template arguments into function template 'var_type' [with T = var_type]
struct var_type : var_base
       ^
/usr/local/boost-1.62.0/include/boost/type_traits/is_nothrow_move_constructible.hpp:50:54: note: during template argument deduction for class template partial specialization 'false_or_cpp11_noexcept_move_constructible<type-parameter-0-0, typename enable_if_c<sizeof(T) && noexcept((T(::boost::declval<T>()))), void>::type>' [with T = boost::recursive_wrapper<node1_type<var_type> >]
   : public integral_constant<bool, ::boost::detail::false_or_cpp11_noexcept_move_constructible<T>::value>{};
                                                     ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/has_type.hpp:20:1: note: in instantiation of template class 'boost::is_nothrow_move_constructible<boost::recursive_wrapper<node1_type<var_type> > >' requested here
BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_type, type, true)
^
/usr/local/boost-1.62.0/include/boost/mpl/has_xxx.hpp:245:65: note: expanded from macro 'BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF'
            , boost::mpl::aux::type_wrapper<BOOST_MSVC_TYPENAME U::name>* = 0 \
                                                                ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/has_type.hpp:20:1: note: while substituting deduced template arguments into function template 'test' [with U = boost::is_nothrow_move_constructible<boost::recursive_wrapper<node1_type<var_type> > >]
/usr/local/boost-1.62.0/include/boost/mpl/has_xxx.hpp:253:18: note: expanded from macro 'BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF'
          sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) \
                 ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp:36:20: note: (skipping 20 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
            , aux::has_type< F<U1> >::value
                   ^
/usr/local/boost-1.62.0/include/boost/mpl/iter_fold_if.hpp:102:20: note: in instantiation of member class 'boost::mpl::iter_fold_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, void, mpl_::arg<1>, boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >, 0>, mpl_::na, mpl_::na>::result_' requested here
          typename result_::state
                   ^
/usr/local/boost-1.62.0/include/boost/mpl/find_if.hpp:34:22: note: in instantiation of template class 'boost::mpl::iter_fold_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, void, mpl_::arg<1>, boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >, 0>, mpl_::na, mpl_::na>' requested here
    typedef typename iter_fold_if<
                     ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:230:34: note: in instantiation of template class 'boost::mpl::find_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >' requested here
    typedef typename boost::mpl::find_if<
                                 ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1808:50: note: in instantiation of template class 'boost::detail::variant::is_variant_move_noexcept_constructible<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >' requested here
    variant(variant&& operand) BOOST_NOEXCEPT_IF(variant_move_noexcept_constructible::type::value)
                                                 ^
prog.cc:18:8: note: in instantiation of exception specification for 'variant' requested here
struct var_type : var_base
       ^
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1770:37: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::mpl::not_<boost::is_const<var_type> >, boost::mpl::not_<boost::is_same<var_type, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<var_type &, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true>, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        , typename boost::enable_if<mpl::and_<
                                    ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:18:8: note: while substituting deduced template arguments into function template 'var_type' [with T = var_type]
struct var_type : var_base
       ^
/usr/local/boost-1.62.0/include/boost/type_traits/is_nothrow_move_constructible.hpp:50:54: note: during template argument deduction for class template partial specialization 'false_or_cpp11_noexcept_move_constructible<type-parameter-0-0, typename enable_if_c<sizeof(T) && noexcept((T(::boost::declval<T>()))), void>::type>' [with T = boost::recursive_wrapper<node1_type<var_type> >]
   : public integral_constant<bool, ::boost::detail::false_or_cpp11_noexcept_move_constructible<T>::value>{};
                                                     ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/has_type.hpp:20:1: note: in instantiation of template class 'boost::is_nothrow_move_constructible<boost::recursive_wrapper<node1_type<var_type> > >' requested here
BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_type, type, true)
^
/usr/local/boost-1.62.0/include/boost/mpl/has_xxx.hpp:245:65: note: expanded from macro 'BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF'
            , boost::mpl::aux::type_wrapper<BOOST_MSVC_TYPENAME U::name>* = 0 \
                                                                ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/has_type.hpp:20:1: note: while substituting deduced template arguments into function template 'test' [with U = boost::is_nothrow_move_constructible<boost::recursive_wrapper<node1_type<var_type> > >]
/usr/local/boost-1.62.0/include/boost/mpl/has_xxx.hpp:253:18: note: expanded from macro 'BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF'
          sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) \
                 ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp:36:20: note: (skipping 20 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
            , aux::has_type< F<U1> >::value
                   ^
/usr/local/boost-1.62.0/include/boost/mpl/iter_fold_if.hpp:102:20: note: in instantiation of member class 'boost::mpl::iter_fold_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, void, mpl_::arg<1>, boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >, 0>, mpl_::na, mpl_::na>::result_' requested here
          typename result_::state
                   ^
/usr/local/boost-1.62.0/include/boost/mpl/find_if.hpp:34:22: note: in instantiation of template class 'boost::mpl::iter_fold_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, void, mpl_::arg<1>, boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >, 0>, mpl_::na, mpl_::na>' requested here
    typedef typename iter_fold_if<
                     ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:230:34: note: in instantiation of template class 'boost::mpl::find_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >' requested here
    typedef typename boost::mpl::find_if<
                                 ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1808:50: note: in instantiation of template class 'boost::detail::variant::is_variant_move_noexcept_constructible<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >' requested here
    variant(variant&& operand) BOOST_NOEXCEPT_IF(variant_move_noexcept_constructible::type::value)
                                                 ^
prog.cc:18:8: note: in instantiation of exception specification for 'variant' requested here
struct var_type : var_base
       ^
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1783:35: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::is_rvalue_reference<var_type &&>, boost::mpl::not_<boost::is_const<var_type> >, boost::mpl::not_<boost::is_same<var_type, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<var_type &&, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        typename boost::enable_if<mpl::and_<
                                  ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:18:8: note: while substituting deduced template arguments into function template 'var_type' [with T = var_type]
struct var_type : var_base
       ^
/usr/local/boost-1.62.0/include/boost/type_traits/is_nothrow_move_constructible.hpp:50:54: note: during template argument deduction for class template partial specialization 'false_or_cpp11_noexcept_move_constructible<type-parameter-0-0, typename enable_if_c<sizeof(T) && noexcept((T(::boost::declval<T>()))), void>::type>' [with T = boost::recursive_wrapper<node1_type<var_type> >]
   : public integral_constant<bool, ::boost::detail::false_or_cpp11_noexcept_move_constructible<T>::value>{};
                                                     ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/has_type.hpp:20:1: note: in instantiation of template class 'boost::is_nothrow_move_constructible<boost::recursive_wrapper<node1_type<var_type> > >' requested here
BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_type, type, true)
^
/usr/local/boost-1.62.0/include/boost/mpl/has_xxx.hpp:245:65: note: expanded from macro 'BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF'
            , boost::mpl::aux::type_wrapper<BOOST_MSVC_TYPENAME U::name>* = 0 \
                                                                ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/has_type.hpp:20:1: note: while substituting deduced template arguments into function template 'test' [with U = boost::is_nothrow_move_constructible<boost::recursive_wrapper<node1_type<var_type> > >]
/usr/local/boost-1.62.0/include/boost/mpl/has_xxx.hpp:253:18: note: expanded from macro 'BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF'
          sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) \
                 ^
/usr/local/boost-1.62.0/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp:36:20: note: (skipping 20 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
            , aux::has_type< F<U1> >::value
                   ^
/usr/local/boost-1.62.0/include/boost/mpl/iter_fold_if.hpp:102:20: note: in instantiation of member class 'boost::mpl::iter_fold_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, void, mpl_::arg<1>, boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >, 0>, mpl_::na, mpl_::na>::result_' requested here
          typename result_::state
                   ^
/usr/local/boost-1.62.0/include/boost/mpl/find_if.hpp:34:22: note: in instantiation of template class 'boost::mpl::iter_fold_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, void, mpl_::arg<1>, boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >, 0>, mpl_::na, mpl_::na>' requested here
    typedef typename iter_fold_if<
                     ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:230:34: note: in instantiation of template class 'boost::mpl::find_if<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> >, boost::mpl::not_<boost::is_nothrow_move_constructible<mpl_::arg<1> > > >' requested here
    typedef typename boost::mpl::find_if<
                                 ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1808:50: note: in instantiation of template class 'boost::detail::variant::is_variant_move_noexcept_constructible<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >' requested here
    variant(variant&& operand) BOOST_NOEXCEPT_IF(variant_move_noexcept_constructible::type::value)
                                                 ^
prog.cc:18:8: note: in instantiation of exception specification for 'variant' requested here
struct var_type : var_base
       ^
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1759:35: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::mpl::not_<boost::is_same<var_type, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<const var_type &, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        typename boost::enable_if<mpl::and_<
                                  ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:13:8: note: while substituting deduced template arguments into function template 'var_type' [with T = var_type]
struct node1_type
       ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:505:23: note: in instantiation of member function 'boost::recursive_wrapper<node1_type<var_type> >::recursive_wrapper' requested here
        new(storage_) T(::boost::detail::variant::move(operand));
                      ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:112:20: note: in instantiation of function template specialization 'boost::detail::variant::move_into::internal_visit<boost::recursive_wrapper<node1_type<var_type> > >' requested here
    return visitor.internal_visit(
                   ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:154:13: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl_invoke_impl<boost::detail::variant::move_into, void *, boost::recursive_wrapper<node1_type<var_type> > >' requested here
    return (visitation_impl_invoke_impl)(
            ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:240:11: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl_invoke<boost::detail::variant::move_into, void *, boost::recursive_wrapper<node1_type<var_type> >, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::has_fallback_type_>' requested here
        , BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_CASE
          ^
/usr/local/boost-1.62.0/include/boost/preprocessor/repetition/repeat.hpp:29:26: note: expanded from macro 'BOOST_PP_REPEAT'
# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
                         ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:29:34: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                 ^
<scratch space>:128:1: note: expanded from here
BOOST_PP_REPEAT_1
^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:2384:33: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl<mpl_::int_<0>, boost::detail::variant::visitation_impl_step<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, boost::mpl::l_iter<boost::mpl::l_end> >, boost::detail::variant::move_into, void *, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::has_fallback_type_>' requested here
        return detail::variant::visitation_impl(
                                ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:2398:16: note: in instantiation of function template specialization 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::internal_apply_visitor_impl<boost::detail::variant::move_into, void *>' requested here
        return internal_apply_visitor_impl(
               ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1812:17: note: in instantiation of function template specialization 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::internal_apply_visitor<boost::detail::variant::move_into>' requested here
        operand.internal_apply_visitor(visitor);
                ^
prog.cc:18:8: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
struct var_type : var_base
       ^
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1770:37: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::mpl::not_<boost::is_const<var_type> >, boost::mpl::not_<boost::is_same<var_type, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<var_type &, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true>, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        , typename boost::enable_if<mpl::and_<
                                    ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:13:8: note: while substituting deduced template arguments into function template 'var_type' [with T = var_type]
struct node1_type
       ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:505:23: note: in instantiation of member function 'boost::recursive_wrapper<node1_type<var_type> >::recursive_wrapper' requested here
        new(storage_) T(::boost::detail::variant::move(operand));
                      ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:112:20: note: in instantiation of function template specialization 'boost::detail::variant::move_into::internal_visit<boost::recursive_wrapper<node1_type<var_type> > >' requested here
    return visitor.internal_visit(
                   ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:154:13: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl_invoke_impl<boost::detail::variant::move_into, void *, boost::recursive_wrapper<node1_type<var_type> > >' requested here
    return (visitation_impl_invoke_impl)(
            ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:240:11: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl_invoke<boost::detail::variant::move_into, void *, boost::recursive_wrapper<node1_type<var_type> >, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::has_fallback_type_>' requested here
        , BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_CASE
          ^
/usr/local/boost-1.62.0/include/boost/preprocessor/repetition/repeat.hpp:29:26: note: expanded from macro 'BOOST_PP_REPEAT'
# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
                         ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:29:34: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                 ^
<scratch space>:128:1: note: expanded from here
BOOST_PP_REPEAT_1
^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:2384:33: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl<mpl_::int_<0>, boost::detail::variant::visitation_impl_step<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, boost::mpl::l_iter<boost::mpl::l_end> >, boost::detail::variant::move_into, void *, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::has_fallback_type_>' requested here
        return detail::variant::visitation_impl(
                                ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:2398:16: note: in instantiation of function template specialization 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::internal_apply_visitor_impl<boost::detail::variant::move_into, void *>' requested here
        return internal_apply_visitor_impl(
               ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1812:17: note: in instantiation of function template specialization 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::internal_apply_visitor<boost::detail::variant::move_into>' requested here
        operand.internal_apply_visitor(visitor);
                ^
prog.cc:18:8: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
struct var_type : var_base
       ^
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1783:35: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::is_rvalue_reference<var_type &&>, boost::mpl::not_<boost::is_const<var_type> >, boost::mpl::not_<boost::is_same<var_type, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<var_type &&, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        typename boost::enable_if<mpl::and_<
                                  ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:13:8: note: while substituting deduced template arguments into function template 'var_type' [with T = var_type]
struct node1_type
       ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:505:23: note: in instantiation of member function 'boost::recursive_wrapper<node1_type<var_type> >::recursive_wrapper' requested here
        new(storage_) T(::boost::detail::variant::move(operand));
                      ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:112:20: note: in instantiation of function template specialization 'boost::detail::variant::move_into::internal_visit<boost::recursive_wrapper<node1_type<var_type> > >' requested here
    return visitor.internal_visit(
                   ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:154:13: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl_invoke_impl<boost::detail::variant::move_into, void *, boost::recursive_wrapper<node1_type<var_type> > >' requested here
    return (visitation_impl_invoke_impl)(
            ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:240:11: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl_invoke<boost::detail::variant::move_into, void *, boost::recursive_wrapper<node1_type<var_type> >, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::has_fallback_type_>' requested here
        , BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_CASE
          ^
/usr/local/boost-1.62.0/include/boost/preprocessor/repetition/repeat.hpp:29:26: note: expanded from macro 'BOOST_PP_REPEAT'
# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
                         ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:29:34: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                 ^
<scratch space>:128:1: note: expanded from here
BOOST_PP_REPEAT_1
^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:2384:33: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl<mpl_::int_<0>, boost::detail::variant::visitation_impl_step<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, boost::mpl::l_iter<boost::mpl::l_end> >, boost::detail::variant::move_into, void *, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::has_fallback_type_>' requested here
        return detail::variant::visitation_impl(
                                ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:2398:16: note: in instantiation of function template specialization 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::internal_apply_visitor_impl<boost::detail::variant::move_into, void *>' requested here
        return internal_apply_visitor_impl(
               ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1812:17: note: in instantiation of function template specialization 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::internal_apply_visitor<boost::detail::variant::move_into>' requested here
        operand.internal_apply_visitor(visitor);
                ^
prog.cc:18:8: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
struct var_type : var_base
       ^
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1759:35: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::mpl::not_<boost::is_same<var_type, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<const var_type &, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        typename boost::enable_if<mpl::and_<
                                  ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:13:8: note: while substituting deduced template arguments into function template 'var_type' [with T = var_type]
struct node1_type
       ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:465:23: note: in instantiation of member function 'boost::recursive_wrapper<node1_type<var_type> >::recursive_wrapper' requested here
        new(storage_) T(operand);
                      ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:112:20: note: in instantiation of function template specialization 'boost::detail::variant::copy_into::internal_visit<boost::recursive_wrapper<node1_type<var_type> > >' requested here
    return visitor.internal_visit(
                   ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:154:13: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl_invoke_impl<boost::detail::variant::copy_into, const void *, boost::recursive_wrapper<node1_type<var_type> > >' requested here
    return (visitation_impl_invoke_impl)(
            ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:240:11: note: (skipping 8 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
        , BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_CASE
          ^
/usr/local/boost-1.62.0/include/boost/preprocessor/repetition/repeat.hpp:29:26: note: expanded from macro 'BOOST_PP_REPEAT'
# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
                         ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:29:34: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                 ^
<scratch space>:128:1: note: expanded from here
BOOST_PP_REPEAT_1
^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:240:11: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl_invoke<boost::detail::variant::move_into, void *, boost::recursive_wrapper<node1_type<var_type> >, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::has_fallback_type_>' requested here
/usr/local/boost-1.62.0/include/boost/preprocessor/repetition/repeat.hpp:29:26: note: expanded from macro 'BOOST_PP_REPEAT'
# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
                         ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:29:34: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                 ^
<scratch space>:128:1: note: expanded from here
BOOST_PP_REPEAT_1
^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:2384:33: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl<mpl_::int_<0>, boost::detail::variant::visitation_impl_step<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, boost::mpl::l_iter<boost::mpl::l_end> >, boost::detail::variant::move_into, void *, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::has_fallback_type_>' requested here
        return detail::variant::visitation_impl(
                                ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:2398:16: note: in instantiation of function template specialization 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::internal_apply_visitor_impl<boost::detail::variant::move_into, void *>' requested here
        return internal_apply_visitor_impl(
               ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1812:17: note: in instantiation of function template specialization 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::internal_apply_visitor<boost::detail::variant::move_into>' requested here
        operand.internal_apply_visitor(visitor);
                ^
prog.cc:18:8: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
struct var_type : var_base
       ^
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1770:37: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::mpl::not_<boost::is_const<const var_type> >, boost::mpl::not_<boost::is_same<const var_type, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<const var_type &, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true>, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        , typename boost::enable_if<mpl::and_<
                                    ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:13:8: note: while substituting deduced template arguments into function template 'var_type' [with T = const var_type]
struct node1_type
       ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:465:23: note: in instantiation of member function 'boost::recursive_wrapper<node1_type<var_type> >::recursive_wrapper' requested here
        new(storage_) T(operand);
                      ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:112:20: note: in instantiation of function template specialization 'boost::detail::variant::copy_into::internal_visit<boost::recursive_wrapper<node1_type<var_type> > >' requested here
    return visitor.internal_visit(
                   ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:154:13: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl_invoke_impl<boost::detail::variant::copy_into, const void *, boost::recursive_wrapper<node1_type<var_type> > >' requested here
    return (visitation_impl_invoke_impl)(
            ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:240:11: note: (skipping 8 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
        , BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_CASE
          ^
/usr/local/boost-1.62.0/include/boost/preprocessor/repetition/repeat.hpp:29:26: note: expanded from macro 'BOOST_PP_REPEAT'
# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
                         ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:29:34: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                 ^
<scratch space>:128:1: note: expanded from here
BOOST_PP_REPEAT_1
^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:240:11: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl_invoke<boost::detail::variant::move_into, void *, boost::recursive_wrapper<node1_type<var_type> >, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::has_fallback_type_>' requested here
/usr/local/boost-1.62.0/include/boost/preprocessor/repetition/repeat.hpp:29:26: note: expanded from macro 'BOOST_PP_REPEAT'
# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
                         ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:29:34: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                 ^
<scratch space>:128:1: note: expanded from here
BOOST_PP_REPEAT_1
^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:2384:33: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl<mpl_::int_<0>, boost::detail::variant::visitation_impl_step<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, boost::mpl::l_iter<boost::mpl::l_end> >, boost::detail::variant::move_into, void *, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::has_fallback_type_>' requested here
        return detail::variant::visitation_impl(
                                ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:2398:16: note: in instantiation of function template specialization 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::internal_apply_visitor_impl<boost::detail::variant::move_into, void *>' requested here
        return internal_apply_visitor_impl(
               ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1812:17: note: in instantiation of function template specialization 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::internal_apply_visitor<boost::detail::variant::move_into>' requested here
        operand.internal_apply_visitor(visitor);
                ^
prog.cc:18:8: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
struct var_type : var_base
       ^
In file included from prog.cc:1:
In file included from /usr/local/boost-1.62.0/include/boost/variant.hpp:17:
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1783:35: error: no type named 'type' in 'boost::enable_if<boost::mpl::and_<boost::is_rvalue_reference<const var_type &>, boost::mpl::not_<boost::is_const<const var_type &> >, boost::mpl::not_<boost::is_same<const var_type &, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > > > >, boost::detail::variant::is_variant_constructible_from<const var_type &, boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, mpl_::bool_<true> >, void>'; 'enable_if' cannot be used to disable this declaration
        typename boost::enable_if<mpl::and_<
                                  ^~~~~~~~~~
prog.cc:20:19: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
  using var_base::var_base;
                  ^
prog.cc:13:8: note: while substituting deduced template arguments into function template 'var_type' [with T = const var_type &]
struct node1_type
       ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:465:23: note: in instantiation of member function 'boost::recursive_wrapper<node1_type<var_type> >::recursive_wrapper' requested here
        new(storage_) T(operand);
                      ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:112:20: note: in instantiation of function template specialization 'boost::detail::variant::copy_into::internal_visit<boost::recursive_wrapper<node1_type<var_type> > >' requested here
    return visitor.internal_visit(
                   ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:154:13: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl_invoke_impl<boost::detail::variant::copy_into, const void *, boost::recursive_wrapper<node1_type<var_type> > >' requested here
    return (visitation_impl_invoke_impl)(
            ^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:240:11: note: (skipping 8 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
        , BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_CASE
          ^
/usr/local/boost-1.62.0/include/boost/preprocessor/repetition/repeat.hpp:29:26: note: expanded from macro 'BOOST_PP_REPEAT'
# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
                         ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:29:34: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                 ^
<scratch space>:128:1: note: expanded from here
BOOST_PP_REPEAT_1
^
/usr/local/boost-1.62.0/include/boost/variant/detail/visitation_impl.hpp:240:11: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl_invoke<boost::detail::variant::move_into, void *, boost::recursive_wrapper<node1_type<var_type> >, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::has_fallback_type_>' requested here
/usr/local/boost-1.62.0/include/boost/preprocessor/repetition/repeat.hpp:29:26: note: expanded from macro 'BOOST_PP_REPEAT'
# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
                         ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/usr/local/boost-1.62.0/include/boost/preprocessor/cat.hpp:29:34: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                 ^
<scratch space>:128:1: note: expanded from here
BOOST_PP_REPEAT_1
^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:2384:33: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl<mpl_::int_<0>, boost::detail::variant::visitation_impl_step<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<2>, int, boost::mpl::l_item<mpl_::long_<1>, boost::recursive_wrapper<node1_type<var_type> >, boost::mpl::l_end> > >, boost::mpl::l_iter<boost::mpl::l_end> >, boost::detail::variant::move_into, void *, boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::has_fallback_type_>' requested here
        return detail::variant::visitation_impl(
                                ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:2398:16: note: in instantiation of function template specialization 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::internal_apply_visitor_impl<boost::detail::variant::move_into, void *>' requested here
        return internal_apply_visitor_impl(
               ^
/usr/local/boost-1.62.0/include/boost/variant/variant.hpp:1812:17: note: in instantiation of function template specialization 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::internal_apply_visitor<boost::detail::variant::move_into>' requested here
        operand.internal_apply_visitor(visitor);
                ^
prog.cc:18:8: note: in instantiation of member function 'boost::variant<int, boost::recursive_wrapper<node1_type<var_type> > >::variant' requested here
struct var_type : var_base
       ^
/usr/local/boost-1.62.0/include/boost/variant/recursive_wrapper.hpp:116:14: note: implicit copy constructor for 'node1_type<var_type>' first required here
    : p_(new T( operand.get() ))
             ^
15 errors generated.
Exit Code:
1