http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48313

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-03-28 
14:26:35 UTC ---
slightly further reduced:


template<typename Functor, typename ArgTypes>
    inline void
    bind(Functor&& f, ArgTypes&& a) { }

template<typename T>
void func( T )
{}

int main( int, char** )
{
    bind( func<int>, 0 );
}

this is certainly not a libstdc++ bug (std::bind matches the signature require
by the C++0x draft)

I think the parameter is a non-deduced context, because the argument is an
overload set containing one or more function templates ([temp.deduct.call p6)

So I think this is actually invalid and G++ is right to reject it.

Reply via email to