https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82047
--- Comment #3 from John McFarlane <john at mcfarlane dot name> --- This still happens when S has member variables. For example, if `S` is replaced with `std::complex`, then `v<std::complex<T>>` is `{0,0}`.