// PR c++/52440 // { dg-do compile { target c++11 } } template<bool> struct V { typedef void type; }; template<typename T> struct X { template<typename> static constexpr bool always_true() { return true; } template<typename U, typename = typename V<always_true<U>()>::type> X(U &&) {} }; int main() { X<int> x(42); }