[Issue 871] New: contradictory error messages for templates
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun Jan 21 22:17:53 PST 2007
http://d.puremagic.com/issues/show_bug.cgi?id=871
Summary: contradictory error messages for templates
Product: D
Version: 1.00
Platform: All
OS/Version: All
Status: NEW
Severity: minor
Priority: P3
Component: DMD
AssignedTo: bugzilla at digitalmars.com
ReportedBy: thomas-dloop at kuehne.cn
1 template Templ(alias a) {
2 void Templ(...) {
3 }
4 }
5
6 void main() {
7 int i;
8 Templ(i);
9 }
a.d(8): template a.Templ(alias a) does not match any template declaration
a.d(8): template a.Templ(alias a) cannot deduce template function from argument
types (int)
The two error messages are contradictory:
1) either there was no match and thus the second error messages is wrong
2) or the second message is correct(though doesn't mention line 2) and the
first message is incorrect
After rewriting the sample:
1 template Templ2(alias a) {
2 void Templ2(x) {
3 }
4 }
5
6 void main() {
7 int i;
8 Templ2(i);
9 }
Error: identifier 'x' is not defined
Error: x is used as a type
a.d(8): template a.Templ2(alias a) does not match any template declaration
a.d(8): template a.Templ2(alias a) cannot deduce template function from
argument types (int)
The first two messages are missing the location information.
--
More information about the Digitalmars-d-bugs
mailing list