On Thursday, 28 August 2025 at 15:21:41 UTC, Andy Valencia wrote:
On Thursday, 28 August 2025 at 14:15:54 UTC, monkyyy wrote:
They lose the plot and you have to sometimes offer your own
solutions, its often not worth debugging, if you see an ugly
phoboes error on what should be a simple range concept,
consider not even looking.
Although at least consider submitting a suggestion on a better
error message.
Its **wrong** that op's code fails. That op has a reasonable
range and cycle isnt that hard for a naive implementation. (tho
someone will likely rant at me about .save)
If I can write 10 lines replacement code where a 1000 lines of
code doesn't work, something with your 1000 lines of code is
wrong.
It's clear the ldc2 compiler has evolved towards being much
more helpful; perhaps the Phobos team will file off some rough
edges based on user experience.
Andy
My suggestion for better template hell error messages is here;
walter did not get it:
https://forum.dlang.org/thread/fwxpamdmlrmoqtkaz...@forum.dlang.org
and look at that, cycle implements template landmines:
https://github.com/dlang/phobos/blob/205256abb1f86faf986f8c789cb733ca4137246e/std/range/package.d#L4687
*Such things are trade offs*, maybe you correctly inferred all
types correctly(but clearly not in practice, see above) but if
you ever pattern match into a static assert; *less code works*.
Hot take: writing code that makes less code work is a bad use of
code writing time.
perhaps the Phobos team will file off some rough edges based on
user experience.
Phoboes is far past the point where further complexity tradeoffs
make sense even by their estimation.