On Sunday, 4 September 2022 at 14:14:55 UTC, Ali Çehreli wrote:
The program output is different whether an Error is thrown from main or from the unittest block:
Because the default test runner catches the Error, and doesn't print the stack trace:
https://github.com/dlang/dmd/blob/25799d3841ea87246c56532f6f91d9a1e34d8d8f/druntime/src/core/runtime.d#L599-L620 There's even a comment about it: // TODO: omit stack trace only if assert was thrown // directly by the unittest.