<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

notice that a^=a actually does change the value.<br></blockquote><div><br></div><div>We issue the warning only for |= and &= for this reason. The thes for ^= is there to make sure there's no diagnostic.<br></div>
<div>
 </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
I assume this diagnostic is automatically suppressed in the case that<br>
we're really calling an overloaded operator|= or something, right?</blockquote><div><br></div><div> I've just tried this and self-assign warning is not issued for overloaded operators.</div></div></div></div>