<div dir="ltr">Nick, thanks for cc'ing me; I'd ignored the original email because I hadn't realized it was a typo-correction patch.<div><br></div><div>Overall the patch looks good! My only little nit is that I'd prefer to keep the two ObjC-specific flags in CorrectionCandidateCallback together, though I understand why you placed IsAddressOfOperand where you did.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 23, 2014 at 10:21 AM, Nick Lewycky <span dir="ltr"><<a href="mailto:nlewycky@google.com" target="_blank">nlewycky@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">Ping! +cc Kaelyn for typo correction review?</div><div><div class="h5"><div class="gmail_extra">
<br><div class="gmail_quote">On 11 June 2014 07:46, Nick Lewycky <span dir="ltr"><<a href="mailto:nlewycky@google.com" target="_blank">nlewycky@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The attached patch fixes two bugs in one. We were correcting address-of-member to use the non-qualified form when it was in scope (ie., &Foo::typo became &corrected when we were inside Foo::method). However, this changes the expression from pointer to member to pointer to T (see [expr.unary.op]/3). This is fixed by propagating isAddressOfMember through the correction callback, though we now get an extra leading :: for no good reason. That is a separate bug, at least.<div>
<br></div><div>The crash is because we failed to set a naming class when doing to name lookup of the member and finding it in a different class. Given &ValidButWrongOne::member we would start typo correction on "member" and find &ValidAndRightOne::member, we've got to mark down that the naming class is now ValidAndRightOne. </div>
<div><br></div><div>Patch attached, please review!</div><span><font color="#888888"><div><br></div><div>Nick</div><div><br></div></font></span></div>
</blockquote></div><br></div></div></div></div>
</blockquote></div><br></div>