Weird bug in std.logger? Possible memory corruption

Arafel er.krali at gmail.com
Wed Nov 1 13:33:31 UTC 2023


> I can only imagine that it's related to the logging functions taking 
> lazy arguments, although I cannot see why it would be a problem in a 
> simple case like this.

I've been thinking a bit more about it, and it must be indeed because of 
the lazy argument.

`foo()` is an argument to `info`, but it also uses the logger. However, 
because it's a lazy argument, it's not called from `main`, but from 
`info` itself. I strongly suspect that the problem is that it's not 
reentrant.

I'm not clear what it's supposed to happen, but assuming this case won't 
be supported, it should at least be documented. Should I open a bug 
about it?


More information about the Digitalmars-d-learn mailing list