view tests/mini/bug20.d @ 1364:46f6365a50d7

Added IrTypeFunction and IrTypeDelegate and eliminated IrDType. This means the Type::ir field can be removed. It's the final part needed for the move to a slightly more sane type system. Now the whole thing just needs to be cleaned up :P Added -v-cg switch, which right now just prints "codegen: module.name (module/name.d)" to stdout, this can really help figuring out where, in some complex build command, things go wrong.
author Tomas Lindquist Olsen <tomas.l.olsen gmail com>
date Sat, 16 May 2009 18:19:52 +0200
parents 1bb99290e03a
children
line wrap: on
line source

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

void func(void delegate() dg)
{
    dg();
}

void main()
{
    int i = 42;
    void delegate() dg = {
        i++;
    };
    printf("i = %d\n",i);
    func(dg);
    printf("i = %d\n",i);
    assert(i == 43);
}