https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110195
--- Comment #5 from jack <jack.cui2 at foxmail dot com> --- (In reply to Andrew Pinski from comment #4) > Note clang accepts Single{} where Single is an empty class also before C++20 > ... I think Clang accepting empty class case does not neccessarily mean it is correct. Because this one defeat the purpose of the uniform initialization and probably a surprise that use can create it even if it is private.