https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113498
--- Comment #2 from Bob Miller <bobmiller at nvidia dot com> --- Apologies, I should have reduced this test case further before submission, but I was under the mistaken impression that the template weirdness was the cause. I believe this is a minimized example: https://godbolt.org/z/s3vGEh4Wx template<int d> struct S_Base { static constexpr int D = d; }; template<int d> struct S : public S_Base<d> { using S_Base<d>::D; constexpr void f() const requires(D > 0) {} }; int main(int, char**) { S<1> s; s.f(); return 0; }