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.
34 lines
506 B
D
34 lines
506 B
D
module nested6;
|
|
extern(C) int printf(char*, ...);
|
|
|
|
void main()
|
|
{
|
|
int i = 42;
|
|
|
|
printf("main() %d\n", i++);
|
|
|
|
class C
|
|
{
|
|
void func()
|
|
{
|
|
printf("C.func() %d\n", i++);
|
|
|
|
class C2
|
|
{
|
|
void func2()
|
|
{
|
|
printf("C2.func2() %d\n", i++);
|
|
}
|
|
}
|
|
|
|
auto c2 = new C2;
|
|
c2.func2();
|
|
}
|
|
}
|
|
|
|
auto c = new C;
|
|
c.func();
|
|
|
|
assert(i == 45);
|
|
}
|