Whats the best way to get a struct/class member type?

Simen Kjaeraas simen.kjaras at gmail.com
Mon Apr 2 03:22:16 PDT 2012


On Mon, 02 Apr 2012 12:07:38 +0200, simendsjo <simendsjo at gmail.com> wrote:

> On Mon, 02 Apr 2012 10:56:41 +0200, simendsjo <simendsjo at gmail.com>  
> wrote:
>
>>
>> The documentation explicitly says it shouldn't work for other than  
>> static members though.
>> http://dlang.org/traits.html#getMember
>
> http://d.puremagic.com/issues/show_bug.cgi?id=7809

struct Foo {
     int n;
}

void main( ) {
     static assert(is(typeof(Foo.n) == int));
}

Yup, it compiles. Mayhap it shouldn't, but it does. Of course, trying
to use it for anything but typeof gives you an error. From this we can
conclude that either this behavior is also buggy, or getMember should
work that way.


More information about the Digitalmars-d-learn mailing list