https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107124

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Here is one which GCC/clang agree and accepts but MSVC/ICC reject (even before
the static assert):
template<int>
struct A {};
template<const int & I>
constexpr int f(A<I>) { return 0; }
template<class T>
constexpr int f(T) { return 1; }
const int tt = 0;
static_assert( f<tt>(A<tt>{}) == 0, "" );
---- CUT ----

So it looks like it is more complex than what I even orginally though.

Reply via email to