<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Ryan Joseph <<a href="mailto:ryan@thealchemistguild.com">ryan@thealchemistguild.com</a>> schrieb am Fr., 24. Mai 2019, 22:26:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
> On May 24, 2019, at 1:17 PM, Sven Barth via fpc-devel <<a href="mailto:fpc-devel@lists.freepascal.org" target="_blank" rel="noreferrer">fpc-devel@lists.freepascal.org</a>> wrote:<br>
> <br>
> This is not desired, because it would mean that for *all* assignments between *any* class type it must be at least checked for management operators or it must be forbidden that a class type with management operators can be assigned to a variable of a parent class that does not have them.<br>
> The former is definitely not desired, because it means a performance impact for otherwise cheap assignment. And the later can become annoying as hell when you want to pass an instance e.g. to a TNotifyEvent or store it in a TStringList's Objects property. <br>
<br>
Isn’t this what fully ARC languages like Swift do though? I would think this would be an interesting option to at least be available for particular use cases.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Object Pascal isn't a full ARC language however. Also it is not something that one can enable on a whim cause it also affects other parts. </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>