This patch adds a suggestion and related fixit for when a member reference using '.' such as "foo.bar()" fails because bar() is not a member of foo, but foo defines an operator-> and bar() is a member of the object returned by foo's operator->. A more concrete case where this is helpful is with classes like std::shared_ptr or even clang's QualType that have an operator-> and the user accidentally types "." where they meant to use "->" (since, you know, the variables in question aren't actually pointers).<div>
<br></div><div>I'd like some pre-commit feedback since:</div><div>  * while it's a fairly simple patch, there is some ugliness to it for trying out the correction to see if it causes additional errors,</div><div>  * the error text feels a bit verbose, though it's hardly the longest error message and I can't think of a good way to shorten it, and</div>
<div>  * I am undecided whether there should be an accompanying note, and if so what the note should refer to.</div><div><br></div><div>Thanks,</div><div>Kaelyn</div>