1 // PR c++/10150
2 // Origin: Tom Evans <te200@eng.cam.ac.uk>
3 // { dg-do compile }
4 
5 template <int I> struct A
6 {
7     template <int> struct B
8     {
9         enum { e = I * A<I-1>::B }; // { dg-error "dependent-name" "depname" }
10          // { dg-message "note" "note" { target *-*-* } .-1 }
11     };
12 };
13 
14 A<0>::B<0> a; // { dg-message "required" }
15