https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114165
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Reduced testcase: ``` template<int *, int *> void withP() {} int array[2]; int main() { withP<array, array+1>(); withP<array, &array[1]>(); } ``` GCC and MSVC both reject `array+1` . All three accept `&array[1]` though in C++20+.