On Wednesday, 11 March 2026 at 14:41:19 UTC, Aayush Patel wrote:
**TL;DR**
```
std.format's hasToString detection is broken for recursive
formatters. You must add:
static if (__traits(compiles, { Writer w; w.put("test"); }))
to every toString that calls formatValue. This is a design flaw
that needs fixing.
```
Thoughts? Should I report this as a bug or enhancement request?
For a bug report you should
1. Provide fully self-contained valid D code.
2. Specify the compiler used and its version.
3. Specify the expected and the obtained results
from compilation and/or execution.
Your posting lacks all of these. After adding
import std.stdio;
I could successfully compile with dmd v2.110.0 and GDC 12.1.0
and also run your code. The output is
42
-> WORKSFORME -> no bug, no feature request.