[Issue 4513] New: Unclear template template error message
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Jul 26 13:57:50 PDT 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4513
Summary: Unclear template template error message
Product: D
Version: D2
Platform: x86
OS/Version: Windows
Status: NEW
Keywords: diagnostic
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: bearophile_hugs at eml.cc
--- Comment #0 from bearophile_hugs at eml.cc 2010-07-26 13:57:48 PDT ---
This is a wrong D2 program, bar() takes as first template argument a struct
template (to work it misses the commented out 'alias' at F):
struct Foo(T) {
T value;
}
F!T bar(/*alias*/ F, T)(T value) {
return F!T(value);
}
void main() {
auto b1 = bar!Foo(1); // line 8
}
dmd 2.047 prints the error messages:
test.d(8): Error: template test.bar(F,T) does not match any function template
declaration
test.d(8): Error: template test.bar(F,T) cannot deduce template function from
argument types !(Foo)(int)
test.d(8): Error: template instance errors instantiating template
But those error messages are too many and they don't tell what the problem is
or how to fix the code. They are not helping much. If this is possible a better
error message can be something like:
test.d(8): Error: in template test.bar(F,T) template template argument 'F'
needs 'alias'.
Or something like:
test.d(8): Error: in template test.bar(F,T) template template argument 'Foo'
passed to 'F' needs 'alias'.
Or something related.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list