https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103749
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> --- I have a patch with which we, for the original test, emit: $ xg++ -c 103749-2.C 103749-2.C:6:8: error: ‘bar’ was declared as template but no template header provided 6 | struct bar { | ^~~ 103749-2.C:3:17: note: previous declaration here 3 | friend struct bar; | ^~~ 103749-2.C:10:5: error: ‘bar<...auto...> var’ has incomplete type 10 | bar var; | ^~~ Hopefully that's a bit better.