In file included from test.cpp:1: In file included from /Users/qiang/Projects/boost_1_51_0/boost/spirit/include/support_info.hpp:15: In file included from /Users/qiang/Projects/boost_1_51_0/boost/spirit/home/support/info.hpp:19: /usr/bin/../lib/c++/v1/list:212:9: error: field has incomplete type 'boost::spirit::info' _Tp __value_; ^ /usr/bin/../lib/c++/v1/type_traits:1889:54: note: in instantiation of template class 'std::__1::__list_node' requested here decltype(_VSTD::move(_Tp(_VSTD::declval<_Args>()...)), true_type()) ^ /usr/bin/../lib/c++/v1/type_traits:1890:1: note: while substituting deduced template arguments into function template '__is_constructible_test' [with _Tp = std::__1::allocator>, _Args = ] __is_constructible_test(_Tp&&, _Args&& ...); ^ /usr/bin/../lib/c++/v1/type_traits:1949:14: note: in instantiation of template class 'std::__1::__is_constructible>, std::__1::allocator> &&>' requested here : public __is_constructible::value || is_reference<_Tp>::value, ^ /usr/bin/../lib/c++/v1/type_traits:1975:14: note: in instantiation of template class 'std::__1::__is_constructible_void_check>, std::__1::allocator> &&>' requested here : public __is_constructible_void_check<__contains_void<_Tp, _Args...>::value ^ /usr/bin/../lib/c++/v1/type_traits:2455:34: note: in instantiation of template class 'std::__1::is_constructible>, std::__1::allocator> &&>' requested here : __is_nothrow_constructible::value, _Tp, _Args...> ^ /usr/bin/../lib/c++/v1/type_traits:2590:14: note: (skipping 22 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) : public is_nothrow_constructible<_Tp, typename add_rvalue_reference<_Tp>::type> ^ /Users/qiang/Projects/boost_1_51_0/boost/mpl/transform.hpp:113:1: note: in instantiation of template class 'boost::mpl::aux::reverse_transform1_impl, boost::spirit::info::nil, boost::mpl::l_item, std::__1::basic_string, boost::mpl::l_item, boost::recursive_wrapper, boost::mpl::l_item, boost::recursive_wrapper>, boost::mpl::l_item, std::__1::list>, boost::mpl::l_end>>>>>, boost::mpl::sizeof_>, boost::mpl::front_inserter>' requested here BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, transform1) ^ /Users/qiang/Projects/boost_1_51_0/boost/mpl/aux_/inserter_algorithm.hpp:52:7: note: expanded from macro 'BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF' : if_< has_push_back< typename clear::type> \ ^ /Users/qiang/Projects/boost_1_51_0/boost/variant/variant.hpp:124:27: note: in instantiation of template class 'boost::mpl::transform1, boost::spirit::info::nil, boost::mpl::l_item, std::__1::basic_string, boost::mpl::l_item, boost::recursive_wrapper, boost::mpl::l_item, boost::recursive_wrapper>, boost::mpl::l_item, std::__1::list>, boost::mpl::l_end>>>>>, boost::mpl::sizeof_>, mpl_::na>' requested here typedef typename mpl::transform1::type transformed_; ^ /Users/qiang/Projects/boost_1_51_0/boost/variant/variant.hpp:247:22: note: in instantiation of template class 'boost::detail::variant::max_value, boost::spirit::info::nil, boost::mpl::l_item, std::__1::basic_string, boost::mpl::l_item, boost::recursive_wrapper, boost::mpl::l_item, boost::recursive_wrapper>, boost::mpl::l_item, std::__1::list>, boost::mpl::l_end>>>>>, boost::mpl::sizeof_>>' requested here typedef typename max_value< ^ /Users/qiang/Projects/boost_1_51_0/boost/variant/variant.hpp:1130:39: note: in instantiation of template class 'boost::detail::variant::make_storage, boost::spirit::info::nil, boost::mpl::l_item, std::__1::basic_string, boost::mpl::l_item, boost::recursive_wrapper, boost::mpl::l_item, boost::recursive_wrapper>, boost::mpl::l_item, std::__1::list>, boost::mpl::l_end>>>>>, boost::variant, boost::recursive_wrapper, boost::recursive_wrapper>, std::__1::list>, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::has_fallback_type_>' requested here typedef typename detail::variant::make_storage< ^ /Users/qiang/Projects/boost_1_51_0/boost/spirit/home/support/info.hpp:69:20: note: in instantiation of template class 'boost::variant, boost::recursive_wrapper, boost::recursive_wrapper>, std::__1::list>, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>' requested here value_type value; ^ /Users/qiang/Projects/boost_1_51_0/boost/spirit/home/support/info.hpp:29:12: note: definition of 'boost::spirit::info' is not complete until the closing '}' struct info ^ In file included from test.cpp:1: In file included from /Users/qiang/Projects/boost_1_51_0/boost/spirit/include/support_info.hpp:15: In file included from /Users/qiang/Projects/boost_1_51_0/boost/spirit/home/support/info.hpp:19: /usr/bin/../lib/c++/v1/list:678:30: error: static_cast from '__node_base *' (aka '__list_node_base *') to '__node_pointer' (aka 'std::__1::__list_node *') is not allowed __node_pointer __l = static_cast<__node_pointer>(&__end_); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/bin/../lib/c++/v1/list:664:5: note: in instantiation of member function 'std::__1::__list_imp >::clear' requested here clear(); ^ /usr/bin/../lib/c++/v1/list:769:23: note: in instantiation of member function 'std::__1::__list_imp >::~__list_imp' requested here class _LIBCPP_VISIBLE list ^ /Users/qiang/Projects/boost_1_51_0/boost/variant/detail/visitation_impl.hpp:128:20: note: in instantiation of function template specialization 'boost::detail::variant::destroyer::internal_visit> >' requested here return visitor.internal_visit( ^ /Users/qiang/Projects/boost_1_51_0/boost/variant/detail/visitation_impl.hpp:170:12: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl_invoke_impl> >' requested here return (visitation_impl_invoke_impl)( ^ /Users/qiang/Projects/boost_1_51_0/boost/variant/detail/visitation_impl.hpp:258:11: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl_invoke>, boost::variant, boost::recursive_wrapper, boost::recursive_wrapper>, std::__1::list>, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::has_fallback_type_>' requested here , BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_CASE ^ /Users/qiang/Projects/boost_1_51_0/boost/preprocessor/repetition/repeat.hpp:38:60: note: expanded from macro 'BOOST_PP_REPEAT_1' # define BOOST_PP_REPEAT_1(c, m, d) BOOST_PP_REPEAT_1_I(c, m, d) ^ /Users/qiang/Projects/boost_1_51_0/boost/preprocessor/repetition/repeat.hpp:43:63: note: expanded from macro 'BOOST_PP_REPEAT_1_I' # define BOOST_PP_REPEAT_1_I(c, m, d) BOOST_PP_REPEAT_1_ ## c(m, d) ^ /Users/qiang/Projects/boost_1_51_0/boost/preprocessor/repetition/repeat.hpp:71:58: note: expanded from macro 'BOOST_PP_REPEAT_1_20' # define BOOST_PP_REPEAT_1_20(m, d) BOOST_PP_REPEAT_1_19(m, d) m(2, 19, d) ^ note: (skipping 13 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) /Users/qiang/Projects/boost_1_51_0/boost/preprocessor/repetition/repeat.hpp:57:56: note: expanded from macro 'BOOST_PP_REPEAT_1_6' # define BOOST_PP_REPEAT_1_6(m, d) BOOST_PP_REPEAT_1_5(m, d) m(2, 5, d) ^ /Users/qiang/Projects/boost_1_51_0/boost/preprocessor/repetition/repeat.hpp:56:62: note: expanded from macro 'BOOST_PP_REPEAT_1_5' # define BOOST_PP_REPEAT_1_5(m, d) BOOST_PP_REPEAT_1_4(m, d) m(2, 4, d) ^ /Users/qiang/Projects/boost_1_51_0/boost/variant/detail/visitation_impl.hpp:249:16: note: expanded from macro 'BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_CASE' return (visitation_impl_invoke)( \ ^ /Users/qiang/Projects/boost_1_51_0/boost/variant/variant.hpp:1798:16: note: in instantiation of function template specialization 'boost::detail::variant::visitation_impl, boost::detail::variant::visitation_impl_step, boost::spirit::info::nil, boost::mpl::l_item, std::__1::basic_string, boost::mpl::l_item, boost::recursive_wrapper, boost::mpl::l_item, boost::recursive_wrapper>, boost::mpl::l_item, std::__1::list>, boost::mpl::l_end>>>>>>, boost::mpl::l_iter>, boost::detail::variant::destroyer, void *, boost::variant, boost::recursive_wrapper, boost::recursive_wrapper>, std::__1::list>, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::has_fallback_type_>' requested here return detail::variant::visitation_impl( ^ /Users/qiang/Projects/boost_1_51_0/boost/variant/variant.hpp:1812:16: note: in instantiation of function template specialization 'boost::variant, boost::recursive_wrapper, boost::recursive_wrapper>, std::__1::list>, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::internal_apply_visitor_impl' requested here return internal_apply_visitor_impl( ^ /Users/qiang/Projects/boost_1_51_0/boost/variant/variant.hpp:1215:15: note: in instantiation of function template specialization 'boost::variant, boost::recursive_wrapper, boost::recursive_wrapper>, std::__1::list>, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::internal_apply_visitor' requested here this->internal_apply_visitor(visitor); ^ /Users/qiang/Projects/boost_1_51_0/boost/variant/variant.hpp:1222:9: note: in instantiation of member function 'boost::variant, boost::recursive_wrapper, boost::recursive_wrapper>, std::__1::list>, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::destroy_content' requested here destroy_content(); ^ /Users/qiang/Projects/boost_1_51_0/boost/spirit/home/support/info.hpp:43:18: note: in instantiation of member function 'boost::variant, boost::recursive_wrapper, boost::recursive_wrapper>, std::__1::list>, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::~variant' requested here explicit info(utf8_string const& tag) ^