view tests/mini/classes5.d @ 657:c42173b3557b

Removed some checks for abstract llvm types that were too strict, a 'opaque* null' is a valid initializer... when structs in D can be just a forward reference.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Mon, 06 Oct 2008 14:37:00 +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");
}