On Friday, 19 September 2014 at 11:14:06 UTC, Dicebot wrote:
On Friday, 19 September 2014 at 04:44:07 UTC, Jakob Ovrum wrote:
On Wednesday, 17 September 2014 at 16:32:04 UTC, Dicebot wrote:
On Wednesday, 17 September 2014 at 10:00:31 UTC, Jack Applegame wrote:
You can use module name and line number as unique tag.

This is exactly what I would have expected as default behaviour. Is anyone aware why this counter appoach was used instead?

It's a deceivingly bad default. See the comments in the PR that introduced Typedef[1].

[1] https://github.com/D-Programming-Language/phobos/pull/300

Yes, this is a problem. But how is that possibly worse than existing implementation which gives wrong results in 100% of cases? file/line cookie approach has issues but it is best we can get with existing language support.

`Typedef` clearly comes with a big caveat that isn't apparent from just reading user code. The documentation has to be read, and the documentation clearly states that the cookie parameter has to be used to get unique types. It's much less surprising to have it generate unique types only when explicitly given a cookie than having it sometimes make unique types and sometimes not depending on complex conditions.

Maybe `Typedef` could be neatly fixed by making it a mixin template?

Reply via email to