1 // { dg-do compile }
2 
3 // Origin: sneechy@hotmail.com
4 
5 // PR c++/8772: Incorrect diagnostics for template template parameter
6 // mismatch
7 
8 template <int> struct A {
9   template <int> struct B {
10     enum { v = 1 };
11   };
12 };
13 
14 template <template <int> class F> struct C {
15   enum { v = F<1>::v || 2 };
16 };
17 
18 template <int n> struct D {
19   enum { v = C<A<n>::B>::v }; // { dg-error "mismatch|class template" }
20 };
21