1 // Contributed by Dodji Seketeli <dodji@redhat.com>
2 // Origin PR c++/35405
3 // { dg-do compile }
4 
5 template<typename T> struct a
6 {
7     template <template <typename> class C, typename X, C<X>* =0>
8     struct b
9     {
10     };
11 };
12 
13 void
foo()14 foo ()
15 {
16   a<int> a1; // OK
17   a<int>::b<a,int> b1; // { dg-error "template argument|converted constant" }
18 }
19 
20 // { dg-prune-output "invalid type in declaration" }
21