PR c++/81917 - ICE with void_t and partial specialization.
[official-gcc.git] / gcc / testsuite / g++.dg / template / sfinae28.C
blob1bd9c2cd3f1da1e06f14d2b504fd3c5d57e67a1d
1 // Origin: PR c++/44267
3 struct B {};
4 struct D : B {};
5 struct VD : virtual B {};
7 template <class T> T create();
9 typedef char one[1];
10 typedef char two[2];
12 template <class D, class B>
13 one& f(char (*)[sizeof(static_cast<D>(create<B>()))]);
15 template <class D, class B>
16 two& f(...);
18 int main()
20    f<D*, int>(0);
21    f<D*, B*>(0);
22    f<VD*, B*>(0);
23    return 0;