Am 30.06.2018 um 08:47 schrieb Sven Barth via fpc-devel:
Willibald Krenn <willibald.kr...@gmx.at <mailto:willibald.kr...@gmx.at>> 
schrieb am Sa., 30. Juni 2018, 08:01:

      TBH, I didn't know this issue existed in Delphi and I've done my share of 
Delphi over time. I still maintain that
for managed types the compiler is responsible for some minimal initialization (like it's done for records etc, no?).

The variables we're talking about here *are* initialized.

Maybe the term initialized is wrong and confusing. They are not initialized in the sense of having defined values as global variables have. Non-global managed types should not be considered as being initialized (never!, like any other type), this is also why the compiler warns (!) about this. They can be considered as being "setup" by the compiler.

They contain valid values and none of the internal RTL routines will crash when used with them. Everyone however expects result variables of those to be initialized to Nil and that is simply *not* a guaranteed given.
Also records only initialize their managed fields. All others are left as 
garbage.


Managed fields of records are "setup" ;)
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to