https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103448
--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> --- With class template argument deduction, T(T<args...>{}) will always make a copy of the same type, and not wrap it in a different specialization of the template. There is no bug here, as Andrew said.