https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91073
--- Comment #10 from Paolo Carlini <paolo.carlini at oracle dot com> --- I have been making progress on this (I'm in contact with Jason about that) but unfortunately the issue requires additional analysis for the simple reason that if I remove/amend my r260482 changes then in C++17 mode the testcases are accepted again, but in C++2a they are rejected anyway with a different error: "expected ‘auto’ or ‘decltype(auto)’ after ‘HasInit<decltype (foo), int>’" for the first testcase, for example. Likewise for the second testcase.