<div dir="auto"><div><div class="gmail_extra"><div class="gmail_quote">On 5 Oct 2017 14:20, &quot;Ville Voutilainen&quot; &lt;<a href="mailto:ville.voutilainen@gmail.com">ville.voutilainen@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="quoted-text">On 5 October 2017 at 23:50, Richard Smith &lt;<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>&gt; wrote:<br>
&gt; What benefit does the feature-test macro give you over using the<br>
&gt; non-guaranteed-copy-elision implementation in all cases?<br>
<br>
</div>I can let users store the thing returned by the factory function as<br>
they would store any object,<br>
rather than force them to use lifetime-extending references.<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">One of us is missing something. Why does that not work with</div><div dir="auto"><span style="font-family:sans-serif">the non-guaranteed-copy-elision</span><span style="font-family:sans-serif"> implementation?</span></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Furthermore, if I decide that I really<br>
hate having to use those references, I will disable the whole type if<br>
guaranteed copy elision is not available.<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">Do you anticipate actually wanting to do that? It seems like an odd choice to permit the reference declaration only if guaranteed copy elision is available.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This example I have is, as usual, not the only use case for a feature macro.<br>
</blockquote></div><br></div></div></div>