Tengo un módulo D global que contiene algunas funciones auxiliares (concretamente para el registro), que están en el nivel de módulo y no en una clase. Sin embargo, cuando invoco estas funciones desde un destructor, obtengo un core.exception.OutOfMemoryError y/o la aplicación se cuelga y falla. ¿Estoy haciendo algo mal aquí?Llamar a funciones de nivel de módulo desde destructor en D (parece arrojar un OutOfMemoryError)
Un caso de prueba reducidos al mínimo:
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"); }
}
Sí, lo eres; está publicando una pregunta vaga sin proporcionar una prueba mínima para reproducir el error. Sin ofender. – FeepingCreature
Puedo batir un pequeño estuche de prueba ahora mismo. –