// https://issues.dlang.org/show_bug.cgi?id=711 | |
string result; | |
template Mixer() | |
{ | |
override void test() | |
{ | |
result ~= "A"; | |
} | |
} | |
class Foo | |
{ | |
void test() | |
{ | |
result ~= "B"; | |
} | |
} | |
class Bar : Foo | |
{ | |
mixin Mixer!() mixer; | |
override void test() | |
{ | |
result ~= "C"; | |
mixer.test(); | |
} | |
} | |
class Bar2 : Foo | |
{ | |
override void test() | |
{ | |
result ~= "C"; | |
mixer.test(); | |
} | |
mixin Mixer!() mixer; | |
} | |
void main() | |
{ | |
Bar f = new Bar(); | |
f.test(); | |
assert(result == "CA"); | |
result = ""; | |
Bar2 f2 = new Bar2(); | |
f2.test(); | |
assert(result == "CA"); | |
} |