| // 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); | |
| } |