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

--- Comment #9 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Here's something strange.

gcc rejects and clang accepts the following test case, but if decltype (A()) is
replaced by decltype (T()) then gcc accepts and clang rejects it.

template <class T>
struct H
{
  template <typename A = T, typename = decltype (A())>
  H ();
};

template <class T>
struct I {
  H<T> u;
};

struct J {
  struct K {
    int First = 0;
  };
  I<K> FunctionMDInfo;
};

The error is still

error: constructor required before non-static data member for ‘J::K::First’ has
been parsed

Reply via email to