<div dir="ltr">If we did that, we'd be making a subtle change to the behavior of formatv.  Right now nobody is using a formatter that depends on state or non-determinism (i.e. randomness), but there's nothing preventing someone from creating one either.  If we cache the result of formatv, and a function rendered the Twine multiple times, then the stateful / random formatter wouldn't really work as expected.<div><br></div><div>I'm not necessarily opposted to doing that, but it's something I hadn't given much thought to so I would have to think about it some more and try to figure out if there's any other ways this could lead to surprising results.</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Dec 16, 2016 at 6:39 PM Joerg Sonnenberger via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sat, Dec 17, 2016 at 12:38:15AM -0000, Zachary Turner via llvm-commits wrote:<br class="gmail_msg">
> Author: zturner<br class="gmail_msg">
> Date: Fri Dec 16 18:38:15 2016<br class="gmail_msg">
> New Revision: 290020<br class="gmail_msg">
><br class="gmail_msg">
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=290020&view=rev" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=290020&view=rev</a><br class="gmail_msg">
> Log:<br class="gmail_msg">
> Add support for formatv to llvm::Twine.<br class="gmail_msg">
<br class="gmail_msg">
Isn't this going to call formatv more than once if the Twine is<br class="gmail_msg">
evaluated multiple times? It feels like this partially defeats the<br class="gmail_msg">
purpose of the Twine in first place. Is there a good reason why formatv<br class="gmail_msg">
can't provide its own SmallString buffer for such use?<br class="gmail_msg">
<br class="gmail_msg">
Joerg<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
llvm-commits mailing list<br class="gmail_msg">
<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a><br class="gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="gmail_msg">
</blockquote></div>