Looks like wrong error message
welkam
wwwelkam at gmail.com
Sun Jan 28 22:53:39 UTC 2018
On Sunday, 28 January 2018 at 20:42:52 UTC, Jonathan M Davis
wrote:
>
> There is nothing incorrect about the error message. The
> compiler looked at all of the functions in the overload set,
> and it found none that matched. The reason that it found none
> that matched was because it couldn't find any function template
> where those arguments passed the template constraint, and it
> tells you so.
>
> So, there is no bug here in the sense that the compiler is
> telling you the wrong thing. You can certainly open a bug
> report arguing that the error messages isn't human-friendly
> enough and suggest alternatives, and something along those
> lines may be implemented, but the message isn't actually wrong.
> So, feel free to open a bug report.
>
> However, you're not going to get an error message that says
> anything like "the arguments aren't the same type." The
> compiler doesn't understand what the template constraint means
> in "human terms." It just knows whether it's true or false, and
> in this case, if you provide arguments that don't have a common
> type that they implicitly convert to, then the template
> constraint will fail. But ultimately, you're going to have to
> read the template constraint and figure out why the arguments
> are failing.
>
> - Jonathan M Davis
I would not complain if there were multiple functions just like
error said. But the set contains only one making it not a set
anymore and it says nothing about constraints.
I downloaded dmd source. Might figure out something myself
tomorrow
More information about the Digitalmars-d-learn
mailing list