id summary reporter owner description type status milestone component version severity resolution keywords cc 7569 Compile Error using BOOST_FUSION_DEFINE_STRUCT_INLINE with VC10 and GCC <4.5 oswin.krause@… Joel de Guzman "As laid out on the mailing list, because of too much class nesting, a few compilers won't get the macro to work with partial template spcialisations of the nested classes. a work around is instead of doing something like this (for example in iterator::deref): {{{ //using (A1, a1)(A2, a2)...(AN, an) as struct arguments typedef A1 t1_type; typedef A2 t2_type; ... t1_type& t1;//linked to a1 t2_type& t2;//linked to a2 ... template struct deref{}; template<> struct deref<1>{ typedef t1_type& type; type call(Sequence& seq){ return seq.t1; } }; }}} use a fusion vector to get rid of the partial template specialisation {{{ typedef boost::fusion::vector t_seq; t_seq t;//tied to a1...an template struct deref{ typedef result_of::at_c type; type call(Sequence& seq){ return at_c(seq.t); } }; }}} " Bugs closed To Be Determined fusion Boost 1.51.0 Problem fixed