https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121267

--- Comment #2 from Jan Schultke <janschultke at googlemail dot com> ---
Well sure, char a[] = {"aaaa"}; is fine, just like the initialization of 's' is
fine in the code example (as it should be).

What I'm interested in how the compiler internals make the initialization of
't' valid. Is it a bug in template argument deduction, or does GCC just retry
initialization from "aaaa" when it's a brace-enclosed string literal, which
makes the non-template case work properly, but results in accepts-invalid in
the template case, or is it something else entirely?

Reply via email to