// PR c++/117849 // { dg-do compile { target c++20 } } template struct array { constexpr int size() const { return N; } }; struct vector { int _size = 3; constexpr int size() const { return _size; } }; template struct integral_constant { constexpr operator int() const { return N; } }; template concept StaticSize = requires (T& t) { typename integral_constant; }; static_assert(StaticSize>); static_assert(!StaticSize);