view tests/mini/classes5.d @ 591:e6bcc4d9e5ff

Add _d_newarrayvT and _d_newarraymvT to create arrays without initialization. Adjust DtoNewDynArray to use DtoArrayInit for initialization of new arrays. Make Type::tvoid->defaultInit() not error.
author Christian Kamm <kamm incasoftware de>
date Sun, 14 Sep 2008 10:13:50 +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");
}