------- Comment #4 from rguenth at gcc dot gnu dot org 2006-08-20 14:25 ------- Confirmed. Reduced testcase:
namespace boost{ namespace lambda { template <class T0, class T1> class tuple; template <int I> struct placeholder {}; template <int I, class Act> class action; template <class Base> class lambda_functor; template <class Act, class Args> class lambda_functor_base; enum { FIRST = 0x01, SECOND = 0x02}; template <int I> class function_action {}; template<class Act, class Args> class lambda_functor_base<action<2, Act>, Args> {}; typedef const lambda_functor<placeholder<SECOND> > placeholder2_type; template <class T> class lambda_functor : public T {}; boost::lambda::placeholder2_type free2 = boost::lambda::placeholder2_type(); boost::lambda::placeholder2_type& _2 = free2; template <class Arg1, class Arg2> lambda_functor< lambda_functor_base< action<2, function_action<2> >, tuple<const Arg1, const Arg2> > > bind(const Arg1& a1, const Arg2& a2) {} } } using namespace boost::lambda; struct MyPair { int second; }; template<typename lambda_type> typeof(bind(&MyPair::second, lambda_type())) get_score(lambda_type lambda){} int main() { get_score(_2); } -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2006-08-20 14:25:42 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28783