blob: 9bfb896cc78dbc49f162110cf54b27f373075362 [file] [log] [blame]
// { dg-do compile { target c++2a } }
template<typename I>
struct iterator_traits
{
private:
template<typename Iter>
struct ptr
{ };
template<typename J>
requires requires { typename J::X; }
struct ptr<J>
{ };
template<typename J>
requires (!requires { typename J::X; } && requires { typename J::Y; })
struct ptr<J>
{ };
};