https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106247
--- Comment #9 from Sam James <sjames at gcc dot gnu.org> --- (In reply to Michael Duggan from comment #8) > Created attachment 53533 [details] > Reduced bug exemplar $ g++-16 l.cxx -O2 -c -Wall -Wextra -std=c++14 In member function ‘void i< <template-parameter-1-1> >::m(k*) [with ab = s]’, inlined from ‘i< <template-parameter-1-1> >::i(i< <template-parameter-1-1> >&) [with ab = s]’ at l.cxx:22:24, inlined from ‘am I::u()’ at l.cxx:49:12: l.cxx:26:3: warning: ‘a.i<s>::l’ is used uninitialized [-Wuninitialized] 26 | if (p) { | ^~ l.cxx: In member function ‘am I::u()’: l.cxx:49:8: note: ‘a.i<s>::l’ was declared here 49 | i<s> a = a; | ^ is what I get on all branches now.