[Issue 1193] regression: "matches more than one template declaration" doesn't list the location of the conflicting templates

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed May 19 00:00:33 PDT 2010


http://d.puremagic.com/issues/show_bug.cgi?id=1193


Brad Roberts <braddr at puremagic.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch
                 CC|                            |braddr at puremagic.com


--- Comment #1 from Brad Roberts <braddr at puremagic.com> 2010-05-19 00:00:25 PDT ---
quick easy fix for this one (against dmd 2.x, but likely applies easily enough
to 1.x):

diff --git a/src/template.c b/src/template.c
--- a/src/template.c
+++ b/src/template.c
@@ -4313,8 +4313,10 @@ TemplateDeclaration
*TemplateInstance::findBestMatch(Scope *sc)
     }
     if (td_ambig)
     {
-        error("%s matches more than one template declaration, %s and %s",
-                toChars(), td_best->toChars(), td_ambig->toChars());
+        error("%s matches more than one template declaration, %s(%d):%s and
%s(%d):%s",
+                toChars(),
+                td_best->loc.filename, td_best->loc.linnum,
td_best->toChars(),
+                td_ambig->loc.filename, td_ambig->loc.linnum,
td_ambig->toChars());
     }

     /* The best match is td_best

Results in:
bug1193.d(12): Error: mixin fn!(int) matches more than one template
declaration, bug1193.d(1):fn(T) and bug1193.d(6):fn(T)

-- 
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