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

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
And this will become valid (used to fail with call of overloaded ‘f(int*&)’ is
ambiguous):

template<typename T> int f (const T *const &); // (1)
template<typename T> int f (T *const &); // (2)
template<typename T> int f (T *); // (3)

void
g (int *p, const int *q, const int *const r)
{
  f (p); // calls (1)
  f (q); // calls (1)
  f (r); // calls (1)
}

Reply via email to