<div dir="auto"><div><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">michael via fpc-devel <<a href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a>> schrieb am Do., 4. Sep. 2025, 09:29:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 2025-09-04 08:55, Hairy Pixels via fpc-devel wrote:<br>
> On Sep 4, 2025 at 1:43:23 PM, michael via fpc-devel<br>
> <<a href="mailto:fpc-devel@lists.freepascal.org" target="_blank" rel="noreferrer">fpc-devel@lists.freepascal.org</a>> wrote:<br>
> <br>
>> Personally, I think we already have too much intrinsics to begin<br>
>> with;<br>
>> no matter their behaviour. But that is another discussion<br>
>> entirely...<br>
> <br>
> How so? The reason intrinsics are used is because they can’t be<br>
> replicated at runtime. If you remove them then you lose that<br>
> functionality entirely.<br>
<br>
As I wrote, for some it is needed. No arguments there.<br>
<br>
But AFAIK many regular functions such as Length(), Inc/Dec() etc. are <br>
also converted to intrinsics.<br>
<br>
No doubt for performance reasons, but I'd rather have as little as <br>
possible "compiler magic".<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Not performance reasons, but because they need to be usable by many types and thus can't be expressed using ordinary Pascal in a typesafe way.</div><div dir="auto">Implicit function specialization would change that, however that would mean the generation of a specialized definition each time it is used in a different unit and for every type. </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div dir="auto"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>