mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-12 19:03:13 +01:00
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.
33 lines
440 B
D
33 lines
440 B
D
module mini.nested13;
|
|
|
|
extern(C) int printf(char*, ...);
|
|
|
|
void main()
|
|
{
|
|
int var = 2;
|
|
|
|
void exec(void delegate() dg)
|
|
{
|
|
printf("var = %d\n", var);
|
|
dg();
|
|
}
|
|
|
|
void foo()
|
|
{
|
|
printf("var = %d\n", var);
|
|
assert(var == 5);
|
|
}
|
|
|
|
void bar()
|
|
{
|
|
printf("var = %d\n", var);
|
|
var += 3;
|
|
exec(&foo);
|
|
}
|
|
|
|
printf("var = %d\n", var);
|
|
exec(&bar);
|
|
|
|
return 0;
|
|
}
|