// PR c++/23691 namespace std { class type_info { bool operator==(const type_info& __arg) const; }; } template struct integral_constant { static const T value = val; }; template< typename T > struct is_integral : integral_constant {}; template struct enable_if_c {}; template typename enable_if_c<(is_integral::value)>::type operator==(const int& f, Functor g); template int get_deleter( std::type_info const & ti ) { return ti == typeid(D); }