1// PR c++/24671
2// { dg-do compile }
3
4template<typename> struct A
5{
6  typedef int X;
7  static const int i = 0;
8};
9
10template<typename> struct B
11{
12  B(const B&);
13  typedef typename A<char[A<B>::i]>::X Y; // { dg-error "forbids zero-size array" }
14  template<typename T> B(T, Y);
15};
16
17B<int> b(0,0); // { dg-message "required from here" }
18