On Monday, 15 May 2017 at 14:31:20 UTC, Walter Bright wrote:
I'm glad this sparks interest in improving the error message
display, this is good.
I've been meaning to do this for years... I want overload
resolution and template constraints to tell which conditions were
passed, failed, and short-circuited. Colorizing them in the
output (green for pass, red for fail, default for
short-circuited, for example) is one of the candidates ideas I
have for concisely displaying that information to the user.
Problem is just that the compiler discards those details before
it gets to the error message display and keeping it up the call
chain is non-trivial (or did, last time I tried to implement it).
One thing I have noticed while doing this is how unhelpful many
of the error messages are.
Indeed, D's error messages are awful and I'd prefer we all spend
time improving this more than anything else: make overload and
constraint messages readable. Make size errors tell index and
length in all cases (compile and runtime). Make inferred
attribute errors tell you where and why the inferrence didn't
And yes, I've written about all this in bugzilla already.