On Thursday, 12 May 2022 at 18:07:05 UTC, H. S. Teoh wrote:
On Thu, May 12, 2022 at 09:04:09AM -0700, Ali Çehreli via
Digitalmars-d-learn wrote:
Error: template `std.algorithm.iteration.sum` cannot deduce
function from
argument types `!()(int[3])`
/usr/include/dlang/dmd/std/algorithm/iteration.d(7234):
Candidates are:
`sum(R)(R r)`
with `R = int[3]`
must satisfy the following constraint:
` isInputRange!R`
WHAT? :) But the clue is on the last line above.
[...]
Seriously though, that error message is horrendously ugly. I
mean I've seen it thousands of times by now, so I know what it
means and where to look for the actual problem. But it's
eminently unfriendly to someone who doesn't already know the
language very well.
Good news: starting from DMD 2.099, this error message has been
reworded. Instead of "cannot deduce function...". it now says:
Error: none of the overloads of template
`std.algorithm.iteration.sum` are callable using argument types
`!()(int[3])`