https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87676
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The template constructor allows s({1, 2, 3}) to mean s(S2{1,2,3}) which tries
to use the deleted copy constructor.
Without the template constructor it can only mean s(S1{1,2,3}) which uses the
move constructor.
So I think GCC is correct.
