mirror of
https://github.com/ldc-developers/ldc.git
synced 2025-05-09 04:15:58 +03:00
51 lines
986 B
D
51 lines
986 B
D
// https://github.com/ldc-developers/ldc/issues/3556
|
|
// RUN: %ldc -run %s
|
|
|
|
class C {
|
|
int counter = 1;
|
|
|
|
void test1() {
|
|
assert(counter == 1);
|
|
++counter;
|
|
}
|
|
|
|
void run1() {
|
|
class C2 {
|
|
int counter2 = 11;
|
|
|
|
class C3 {
|
|
void run3() {
|
|
test1();
|
|
test2();
|
|
++counter;
|
|
++counter2;
|
|
}
|
|
}
|
|
|
|
void test2() {
|
|
assert(counter == 2);
|
|
++counter;
|
|
assert(counter2 == 11);
|
|
++counter2;
|
|
}
|
|
|
|
void run2() {
|
|
auto c3 = new C3;
|
|
c3.run3();
|
|
++counter;
|
|
++counter2;
|
|
}
|
|
}
|
|
|
|
auto c2 = new C2;
|
|
c2.run2();
|
|
assert(c2.counter2 == 14);
|
|
++counter;
|
|
}
|
|
}
|
|
|
|
void main() {
|
|
auto c = new C;
|
|
c.run1();
|
|
assert(c.counter == 6);
|
|
}
|