[Issue 2720] New: Function resolution failure error message is unclear
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Mar 9 11:28:04 PDT 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2720
Summary: Function resolution failure error message is unclear
Product: D
Version: unspecified
Platform: All
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P2
Component: DMD
AssignedTo: bugzilla at digitalmars.com
ReportedBy: jarrett.billingsley at gmail.com
void foo(int x) { }
foo(4.5);
Gives the error:
dtest.d(11): function dtest.main.foo (int) does not match parameter types
(double)
I've been using DMD for over 4 years and I still have trouble interpreting the
error message. I always think it's the other way around (I expect what is
passed to be on the left and the function's signature to be on the right). It
also goes against the convention I've seen used elsewhere where parameters are
what are defined in the function header and arguments are the values passed to
the parameters (so (double) is the list of argument types, not parameter
types).
Something like:
dtest.d(11): Incompatible argument types (double) for function dtest.main.foo
(expected (int))
Would be much more helpful.
I'll leave it to Stewie to put a keyword on here if he wants. I'm afraid I'll
pick the wrong one.
--
More information about the Digitalmars-d-bugs
mailing list