blob: fd49c86b74ca3f66cd175c842a61669e0e7a6c3d [file] [log] [blame]
// { dg-do compile { target c++20 } }
// a potential fix for 99425 generated an ICE here.
template<typename _Tp>
struct is_nothrow_destructible;
template<typename _Tp>
struct common_reference;
template<typename _Tp>
concept same_as
= true;
template<typename _Sent, typename _Iter>
concept sentinel_for
= same_as<common_reference<_Sent>>
&& is_nothrow_destructible<_Iter>::value;
template<typename _Tp>
concept __member_end
= requires (_Tp& __t)
{
{ true }
-> sentinel_for<decltype(__t)>;
};
template<typename _Tp>
concept __adl_end
= requires (_Tp& __t)
{
{ true }
-> sentinel_for<decltype(__t)>;
};
template<typename _Tp>
requires __member_end<_Tp> || __adl_end<_Tp>
void
Bar (_Tp&& __t)
{
}
void test03 ()
{
Bar (1); // { dg-error "no matching function" }
}