https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119075
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #1) > Reading pr 115098 seems to this on purpose. It was, but I can't find where we use that default constructor now. Maybe it can be removed now. That doesn't change the fact that we need to be able to define private constructors, and the broken-by-design behaviour of list-initialization considering private constructors doesn't mean we should stop using private constructors.