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?