<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Mattias Gaertner via fpc-pascal <<a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a>> schrieb am Mo., 14. Okt. 2019, 10:39:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, 14 Oct 2019 07:37:38 +0200<br>
Sven Barth via fpc-pascal <<a href="mailto:fpc-pascal@lists.freepascal.org" target="_blank" rel="noreferrer">fpc-pascal@lists.freepascal.org</a>> wrote:<br>
<br>
>[...]<br>
> Because the iterator returns a Pointer and not whatever you think it <br>
> might return. If you know it's something else, you cast that inside<br>
> the loop.<br>
<br>
I agree with Sven.<br>
<br>
What about the other way round?<br>
<br>
For example this is allowed: TControl(aButton):=aControl;<br>
This works also when passing something to a "var" argument.<br>
<br>
It would be consistent to allow it as the for-in-loop variable.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">First you agree with me and then you provide in essence the same examples as Ryan? So what is it now? </div><div dir="auto"><br></div><div dir="auto">Anyway as I wrote to Ryan: the for-in loop is defined as "for VAR in EXPR do", not "for EXPR1 in EXPR2 do". And even if we would limit it to typecasts then the next one would come and ask for this or that to be allowed as well. </div><div dir="auto"><br></div><div dir="auto">No. Nothing of that. There is a variable in the for-in-loop and nothing more. Anything else currently is a bug and *will* break. </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>