// PR c++/72801
// { dg-do compile { target c++11 } }
template < typename, typename > struct A {};
template < typename ... T > struct B
{ 
  template < typename > struct C
  { 
    static const int a = 0;
  };
  template < typename R, typename ... S >
  struct C < R (A < T, S > ...) >
  { 
    static const int a = 1;
  };
};
#define SA(X) static_assert ((X), #X)
SA(B <>::C<int()>::a == 1);