> ~snip > > ---------------------------------------- > > This writes: > > new uint > > no reference > > ========== reference, f7490e20, f7490e10, f7490df0, f74 > > 90dd0 > > AA > > struct > > uint > > reference ... > > Thanks, > > Ivo > > In D1: ... > Writes: > no reference > ========== reference, ad3fd0, ad3fb0, ad3f90 > new uint << ;) > AA > uint > reference
Thanks for trying it out in D1. So, summing up this means that: - In most cases, memory is by default scanned for pointers regardless of the actual data types. - In D2, newly allocated memory for a non-pointer data type (like "new uint" or "new uint[10]") is not scanned by default. - In D1, you have to use hasNoPointers if you want some memory not to be scanned. Is this observation correct? And what about structs/classes that have integer fields as well as pointer/reference fields? And what about associative arrays - apparently these are scanned even if the type is uint? Ivo