У меня есть глобальный модуль D, который содержит некоторые функции помощника (а именно для ведения журнала), которые находятся на уровне модуля, а не в классе. Однако при вызове этих функций из деструктора я получаю core.exception.outofmemoryError и / или приложение висит и аварийрует. Я здесь делаю что-то не так?
Снятый тестовый чехол:
Logger.d
module main.logger;
void log(const(char)[] msg) {
auto time = // GET TIME OF DAY SOMEHOW
std.stdio.writeln(std.conv.to!string(time) ~ " " ~ msg);
}
Class.d
module main.class;
import main.logger;
class A {
public:
this() {}
~this() { log("Destructor"); }
}