// PR c++/48452 // { dg-do compile { target c++11 } } namespace std { template T&& declval(); } template decltype(T(std::declval()...), char()) f(int); template char (&f(...))[2]; struct A { virtual ~A() = 0; }; struct B {}; static_assert(sizeof(f(0)) != 1, "Error"); // a static_assert(sizeof(f(0)) != 1, "Error"); // b static_assert(sizeof(f(0)) != 1, "Error"); // c