1 // PR c++/59759 2 // { dg-do compile { target c++11 } } 3 4 namespace std { 5 template <typename _Tp> 6 struct B { 7 static constexpr _Tp value = 0; 8 }; 9 typedef B<int> false_type; 10 struct C : false_type {}; 11 template <typename> 12 struct is_integral : C {}; 13 template <int, typename _Tp> 14 struct enable_if { 15 typedef _Tp type; 16 }; 17 } 18 enum class enabled; 19 extern constexpr enabled dummy{}; 20 template <typename T, typename std::enable_if<std::is_integral<T>::value, 21 T>::type = dummy> 22 class A; 23 template <typename T> f(A<const T &> *)24void f(A<const T&>*) { 25 A<const enabled&>* map; 26 f(map); 27 } 28