Thread overview
Typedef.toString?
Feb 22, 2018
Denis F
Feb 22, 2018
Meta
Feb 23, 2018
Denis F
Feb 23, 2018
Meta
Feb 23, 2018
Denis F
February 22, 2018
Hello!

After replacing native type by std.typecons.Typedef I am faced with fact what all typeDefValue.to!string was silently changed its output to output of Typedef struct itself. It was too hard find all this inclusions.  Maybe it is need to implement simple toString method inside of Typedef struct? Or just disable it at all?

February 22, 2018
On Thursday, 22 February 2018 at 19:56:13 UTC, Denis F wrote:
> Hello!
>
> After replacing native type by std.typecons.Typedef I am faced with fact what all typeDefValue.to!string was silently changed its output to output of Typedef struct itself. It was too hard find all this inclusions.  Maybe it is need to implement simple toString method inside of Typedef struct? Or just disable it at all?

Yes. I doubt this behaviour is intended, so it's likely an oversight in Typedef's implementation.


February 23, 2018
On Thursday, 22 February 2018 at 20:26:17 UTC, Meta wrote:

>> find all this inclusions.  Maybe it is need to implement simple toString method inside of Typedef struct? Or just disable it at all?
>
> Yes. I doubt this behaviour is intended, so it's likely an oversight in Typedef's implementation.

Should be disabled also:

factory
opCmp
opEquals
toHash

?
February 23, 2018
On Friday, 23 February 2018 at 13:56:35 UTC, Denis F wrote:
> On Thursday, 22 February 2018 at 20:26:17 UTC, Meta wrote:
>
>>> find all this inclusions.  Maybe it is need to implement simple toString method inside of Typedef struct? Or just disable it at all?
>>
>> Yes. I doubt this behaviour is intended, so it's likely an oversight in Typedef's implementation.
>
> Should be disabled also:
>
> factory
> opCmp
> opEquals
> toHash
>
> ?

No, Typedef just needs a custom implementation of `toString`.
February 23, 2018
On Friday, 23 February 2018 at 15:26:02 UTC, Meta wrote:
> On Friday, 23 February 2018 at 13:56:35 UTC, Denis F wrote:
>> On Thursday, 22 February 2018 at 20:26:17 UTC, Meta wrote:
>>
>>>> find all this inclusions.  Maybe it is need to implement simple toString method inside of Typedef struct? Or just disable it at all?
>>>
>>> Yes. I doubt this behaviour is intended, so it's likely an oversight in Typedef's implementation.
>>
>> Should be disabled also:
>>
>> factory
>> opCmp
>> opEquals
>> toHash
>>
>> ?
>
> No, Typedef just needs a custom implementation of `toString`.

I lean towards the idea to disable toString at all. Because if we wrap string type into it, string can leave Typedef wrapper unhindered.