1 // DR 2179
2 
3 template <class T1, class T2> class A;
4 template <class T> struct A<T, void> { void f(); };
5 template <class T> void g(T) { A<char, void>().f(); }   // #1
6 template<typename T> struct A<char, T> {};		// { dg-error "" }
7 A<char, void> f;   // #2
8