https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96268
--- Comment #2 from Will Wray <wjwray at gmail dot com> --- Thanks Marek (and thanks again for implementing it) - it does seem so. I've asked around a little - tcanens and brevzin point to a core issue to do with NTTP CTAD but didn't offer an opinion or encourage this bug. It is specific to the case of an aggregate implementation, of course; adding a constructor from char array enables initialization from either braced string-literal, bare string-literal or constexpr char array. Note: if this aggregate init of NTTP from string-literal is accepted then it provides a technique to distinguish between a string-literal and an array of char const (exercise for reader) (P1997 proposes to enable aggregate init of char array from char array which would then break this distinction, by generalising from the special case.)