Reflection: Order of fields guaranteed?

Michael Coulombe via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Oct 22 07:09:15 PDT 2016


On Friday, 21 October 2016 at 01:51:44 UTC, Stefan Koch wrote:
> On Friday, 21 October 2016 at 01:34:44 UTC, Nick Sabalausky 
> wrote:
>> When using reflection to obtain the fields of a class/struct, 
>> is there any guarantee that the order is the same as the order 
>> the fields are defined?
>
> Yes they should always come in lexical order.

For classes, the spec disagrees, even though it might be true 
using current compilers.

https://dlang.org/spec/class.html#fields

"The D compiler is free to rearrange the order of fields in a 
class to optimally pack them in an implementation-defined manner. 
... Explicit control of field layout is provided by struct/union 
types, not classes."


More information about the Digitalmars-d-learn mailing list