Bug 6539 – Incomprehensible error message with failed template instantiation
Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2011-08-20T15:16:00Z
Last change time
2013-02-18T00:00:01Z
Keywords
diagnostic, pull
Assigned to
nobody
Creator
andrej.mitrovich
Comments
Comment #0 by andrej.mitrovich — 2011-08-20T15:16:05Z
foo.d:
struct Rectangle(T) {}
bar.d:
bool Rectangle(bool, int, int, int, int);
main.d:
module main;
import foo;
import bar;
void test(Rectangle rect)
{
}
$ rdmd main.d
main.d(6): Error: overloadset __anonymous is used as a type
I've had this happen where I've used CairoD and WindowsAPI together. A templated struct and a function have the same name in different modules.
My error is that I forgot to instantiate the template with a type, like so:
void test(Rectangle!int rect)
{
}
But the error message doesn't help one bit.