<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><p>> +  a = { 1 } = b;</p><p>This is supposed to be ill-formed. How do we handle scalar compound assignments of braced-init-lists? My reading is that such assignments are also ill formed.</p></blockquote></div>So this actually turns out to be a problem with the way you implemented the parser. The parser just returns after parsing the braced list, but the function that called it (ParseExpression) doesn't know that the expression MUST end and happily calls ParseRHSOfBinaryOp again (with Prec::Comma). Thus, we parse the above as<div>(a = { 1 }) = b;</div><div>which, while weird, is perfectly valid.</div><div><br></div><div>Sebastian</div></body></html>