https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113272
--- Comment #2 from Fedor Chelnokov <fchelnokov at gmail dot com> --- Here is simplified program without #include <concepts>: template <auto> struct A {}; template <auto p> requires requires(){ *p = 0; } struct A<p> {}; int x = 0; struct B : A<&x>, A<(const int *)&x> {}; GCC fails here because of error: duplicate base type 'A<(& x)>' invalid Online demo: https://godbolt.org/z/aan59E6WE