Files
ldc/tests/mini/nested16.d
Tomas Lindquist Olsen 9d7f16b967 Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in.
Reimplemented support for nested functions/class using a new approach.
Added error on taking address of intrinsic.
Fixed problems with the ->syntaxCopy of TypeFunction delegate exp.
Removed DtoDType and replaced all uses with ->toBasetype() instead.
Removed unused inplace stuff.
Fixed a bunch of issues in the runtime unittests, not complete yet.
Added mini tests.
2008-08-10 08:37:38 +02:00

32 lines
594 B
D

module mini.nested16;
void main()
{
int idx = 123;
int func(int* idp)
{
void foo()
{
void bar(int* idp)
{
auto c = new class
{
void mem()
{
scope(exit) ++*idp;
}
};
auto dg = () {
c.mem();
};
dg();
}
bar(idp);
++*idp;
}
foo();
return ++*idp;
}
assert(func(&idx) == 126);
}