RosettaCodeData/Task/Inheritance-Multiple/D/inheritance-multiple-4.d
2023-07-01 13:44:08 -04:00

19 lines
356 B
D

template registerable() {
void register() { /* implementation */ }
}
string makeFunction(string s) {
return `string `~s~`(){ return "`~s~`";}`;
}
class Foo {
mixin registerable!();
mixin(makeFunction("myFunction"));
}
unittest {
import std.stdio : writeln;
Foo foo = new Foo;
foo.register();
writeln(foo.myFunction());
}