http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58328
--- Comment #2 from Paul Pluzhnikov <ppluzhnikov at google dot com> --- (In reply to Paolo Carlini from comment #1) > I suspect the error isn't bogus, current clang++ also rejects it. Hmm, perhaps you are correct. The original test that is *not* rejected by clang was: struct A { struct B { int x, y = 1; }; A(const B& opts = B()) {} }; But perhaps Clang doesn't reject it in error?