view tests/mini/classes5.d @ 1166:c6f39553b702

Clean up some suspicious code. There's no guarantee a constant of integer type is a ConstantInt, so it's not safe to just cast<> these to ConstantInt. (It could be a constant expression, for example) The code is shorter this way too :).
author Frits van Bommel <fvbommel wxs.nl>
date Sun, 29 Mar 2009 03:27:04 +0200
parents 1bb99290e03a
children
line wrap: on
line source

module classes5;
extern(C) int printf(char*, ...);

struct S
{
    long l;
}

class C
{
    C c;
    S s;
}

void main()
{
    C c = new C;
    long* lp = void;
    {c.s.l = 64;}
    {assert(c.s.l == 64);}
    {lp = &c.s.l;}
    {assert(*lp == 64);}
    printf("classes5 success\n");
}