// PR 99496 different types with same canonical | |
// (requires spec hasher to be a constant, so we get collisions) | |
// { dg-additional-options -fmodule-header } | |
// { dg-module-cmi {} } | |
template<typename...> using __void_t = void; | |
template<typename _Tp, typename = void> | |
struct __is_referenceable | |
{ }; | |
template<typename _Tp> | |
struct __is_referenceable<_Tp, __void_t<_Tp&>> | |
{ }; | |
template<typename _Tp, bool = __is_referenceable<_Tp>::value> | |
struct __is_copy_constructible_impl; |