1 // DR 1558 still applies when using void_t as a template-argument.
2 // { dg-do compile { target c++11 } }
3 
4 template<typename...> using void_t = void;
5 template<class T> struct A { };
6 struct B { typedef int foo; };
7 template<typename T> A<void_t<typename T::foo>> f(); // { dg-error "int" }
8 template<typename T> A<void> g();
main()9 int main()
10 {
11   f<B>();
12   g<int>();
13   f<int>(); // { dg-error "no match" }
14 }
15