blob: ec2b226fe9228d9235568a49f5a37a50a83e70c8 [file] [log] [blame]
// PR c++/4926
// { dg-do compile }
template <unsigned> struct X { typedef int Type; };
template <typename T> struct Y { char array[1]; };
template<typename T> Y<T> P(T); // acts as "Y<typeof(T)>"
struct F { int operator()() const; };
template <typename T>
typename X<sizeof(P( T()() ).array)>::Type foo();
void
bar ()
{
foo<F>();
}