1 // PR c++/59044
2 
3 template <class T>
4 class C {
5 private:
6   template <T a, T b>
7   struct Implementation {};
8 public:
9   typedef typename Implementation<0, 0>::Typedef Type;
10 };
11 
12 template <class T>
13 template <T b>
14 struct C<T>::Implementation<0, b> { typedef void Typedef; };
15 
16 template class C<unsigned>;
17