<p dir="ltr">Here is a suggestion. How about we make the result of comparing pointers from different allocations into implementation-defined behaviour?</p>
<p dir="ltr">Implementations can still have pointers p and q from different blocks of memory where p == q, they just cannot invoke undefined behaviour, the result must be repeatable. Also, if some user finds all the platforms he or she cares about define a total ordering, they are also happy.</p>

<p dir="ltr">All we are removing now (I think) is the ability to optimise based on undefinedf behaviour?</p>
<div class="gmail_quote">On 11 Oct 2013 02:57, &quot;Gabriel Dos Reis&quot; &lt;<a href="mailto:gdr@axiomatics.org">gdr@axiomatics.org</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Nevin Liber &lt;<a href="mailto:nevin@eviloverlord.com">nevin@eviloverlord.com</a>&gt; writes:<br>
<br>
[...]<br>
<br>
| And in a simpler world, both the novice solution and the expert solution ought<br>
| to match...<br>
<br>
Well, &quot;experts&quot; would not be &quot;experts&quot; if they are undistinguishable<br>
from novices. &lt;g&gt;<br>
<br>
We may be on a side track here.  If your argument is that putting stuff<br>
in ordered associative containers requires an ordering, then the natural<br>
thing to do is to have a mechanism to automatically generate a default<br>
&quot;natural&quot; ordering.<br>
Making operator&lt; on pointers a total order does not solve that.  It<br>
isn&#39;t a strech of imagination that they would want to put<br>
std::complex&lt;T&gt; in associative containers too.  Novices would still have<br>
to write codes with subtle deficienties.<br>
<br>
Note: I am trying to make sure that we understand changes with potentially far<br>
reaching consequences, and not just focus on a possibly incomplete patch<br>
with narrow justification.  At the end of the day, someone is going to<br>
stand in front of SG12 and WG21 and get stoned forever, and that is<br>
likely to be me :-)   So if you argue one side, I would argue the other<br>
for the purpose understanding and documentation of design choice --<br>
there is no One Right Answer; it is engineering.<br>
<br>
-- Gaby<br>
<br>
_______________________________________________<br>
ub mailing list<br>
<a href="mailto:ub@isocpp.open-std.org">ub@isocpp.open-std.org</a><br>
<a href="http://www.open-std.org/mailman/listinfo/ub" target="_blank">http://www.open-std.org/mailman/listinfo/ub</a><br>
</blockquote></div>