https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123675
Bug ID: 123675
Summary: GCC rejects valid program involving partial
specialization with std::size_t
Product: gcc
Version: 15.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: jlame646 at gmail dot com
Target Milestone: ---
The following program is rejected by gcc but accepted by both clang and msvc:
https://godbolt.org/z/71E1hGja9
```
#include <iostream>
#include <array>
template <typename T>
struct IsSTDArray : std::false_type {};
template <typename T, int N>
struct IsSTDArray<std::array<T, N>> : std::true_type {};
int main() {
static_assert(IsSTDArray<std::array<int, 3>>::value);
}
```