What is $_4D_auto_iter_xxxx?


I’m working on the symbols file created during the compilation and I got some “unliked” variables which are absolutely not present in may code. All these variables start by ‘$4D_auto_iter’ with a number after.

Does anyone already get this?


Never seen…
Where do they come from?
And what type?

They come from the xxxxx_symbols.txt file generated after compilation.
It seems that 4D generates some ‘virtual’ variables but keep them into the final file :frowning:

[]30666848;“Your comment here…”[/]

Very disturbing


All are of object type and from object method, or it varies?

Maybe auto generated by 4D to internally deal with “For Each” constructs?

Just a thought.

It seems that all are “object” type and need to check more deeply, but yes, it could be a reason.
But, at the end, it is a BUG to get them into the xxxx_symbols.txt file.

I also had a look on the documentation and there is no match.


Good point, Keith, I get a $_4D_auto_iter_12 in my test this way.

: Patrick EMANUEL

But, at the end, it is a BUG to get them into the xxxx_symbols.txt
In https://doc.4d.com/4Dv17R4/4D/17-R4/For-eachEnd-for-each.300-4054913.en.htmlthis page> they say:
“loop on collection :
Current_Item type = Variable of the same type as collection elements
Expression type = Collection (with elements of the same type)”
As compiler cannot know what the collection will be filled with, if you don’t declare Current_Item type, they choose object…


I’m fine with the object type, I’m not fine to get inside the xxx_symbols.txt file a variable which is not present inside the code, whatever is the type.
If 4D needs it internally, great, but not inside a file which can be used as evidence of compilation result.