<div dir="ltr"><div dir="ltr"><div dir="ltr">I'm looking at the documentation on Twine at <a href="http://llvm.org/docs/ProgrammersManual.html#llvm-adt-twine-h">http://llvm.org/docs/ProgrammersManual.html#llvm-adt-twine-h</a> and it gives example code:</div><div dir="ltr"><br></div><div dir="ltr"><div dir="ltr">void foo(const Twine &T);</div><div dir="ltr">...</div><div dir="ltr">StringRef X = ...</div><div dir="ltr">unsigned i = ...</div><div dir="ltr">foo(X + "." + Twine(i));</div><div><br></div><div>How exactly does that last line work? Since addition is left associative, I would expect it to be parsed as (X + ".") ... so it's trying to add a StringRef and a const char* before Twine can come into the picture at all?<br></div><div><br></div></div></div></div>