<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><p>And as written in the corresponding bug report I'm not really happy with these interface hacks.</p>
<p>Regards,<br>
Sven</p>
</blockquote></div><div>So please give any alternative solution (with reasonable efficiency / performance).</div><div><br></div><div>Current solution is inspired by you in 2013 :P</div><div><br></div><div>2013/5/23 Sven Barth<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF"><div><br></div>Why fall back to pointers for something like this if we can use static types?! And if that means that the comparer needs to be implemented for each type, then so be it<div><br></div></div></blockquote><div><br></div><div>My first idea for Generics.Defaults in 2013 was much simpler (and faster than using interfaces), new compiler intrinsic:</div><div><br></div><div><div style="font-size:12.8000001907349px">  function GetReferenceToValue(Value: T): Pointer;</div><div style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">  function GetValueSize(Value: T): Integer;</span><span style="font-size:12.8000001907349px"> </span><br></div></div><div style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px"><br></span></div><div style="font-size:12.8000001907349px"><br></div></div><div>Best regards,<br>Maciej Izak</div>
</div></div>