// Origin: PR c++/44267 struct B {}; struct D : B {}; struct VD : virtual B {}; template T create(); typedef char one[1]; typedef char two[2]; template one& f(char (*)[sizeof(static_cast(create()))]); template two& f(...); int main() { f(0); f(0); f(0); return 0; }