https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81359
Jason Merrill <jason at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org --- Comment #2 from Jason Merrill <jason at gcc dot gnu.org> --- Reduced: template<typename _Tp, typename = decltype(_Tp())> static int test(int); template<typename> static void test(...); template <class T, class = decltype(test<T>(0))> struct A { }; struct B { struct C { int i = 0; }; A<C> a; };