https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66537
--- Comment #2 from Ville Voutilainen <ville.voutilainen at gmail dot com> --- (In reply to Daniel Krügler from comment #1) > Isn't that similar to bug 54835? As far as I remember Jason interprets the > standard that the code should be valid, see his comments in above mentioned > issue. I think there's a difference. The _temporary_ initialized from {} is expected to not be allowed when the default constructor is explicit. What happens after that in returning from a function or passing an argument is separate. Implementations disagree, so perhaps the specification needs to be clarified.