On Thursday, 18 August 2022 at 22:00:06 UTC, Paul Backus wrote:
On Wednesday, 17 August 2022 at 11:38:31 UTC, Steven Schveighoffer wrote:
On 8/17/22 6:38 AM, Dennis wrote:
On Wednesday, 17 August 2022 at 08:44:30 UTC, Ogi wrote:
Maybe I’m missing something?

I had the same problem, and came up with the following trick:

```D
enum itoa(int i) = i.stringof;
```

I have the same thing in my code:

```d
enum intStr(int x) = x.stringof;
```

I merged a version of this into Phobos (for internal use):

https://github.com/dlang/phobos/blob/v2.100.1/std/conv.d#L5986-L5987

It also comes with a unit test, so we don't get surprise breakage if the behavior of `.stringof` ever changes.

Is there a reason why .stringof is implementation defined and not clearly defined in the spec how types and declarations should be treated when being "converted to a string"?

I find it really odd that it's implementation defined and you essentially can't rely on it anywhere.

It's something that has baffled me a lot.

Like are there something I'm missing that means it cannot be specified?

Reply via email to