У меня есть глобальный модуль 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"); }
}