www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 2377] New: ICE with wrong return type for templated method: template.c:784

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2377

           Summary: ICE with wrong return type for templated method:
                    template.c:784
           Product: D
           Version: 2.019
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: dhasenan gmail.com


Error message:
dmd: template.c:784: MATCH
TemplateDeclaration::deduceFunctionTemplateMatch(Loc, Objects*, Expression*,
Expressions*, Objects*): Assertion `i < parameters->dim' failed.
Aborted

Test case:
---
int call (TReturn) ()
{
    return "hello";
}

void main ()
{
    call!(void)();
}
---


-- 
Sep 27 2008
parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2377


bugzilla digitalmars.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |WORKSFORME





I get:

test5.d(4): Error: cannot implicitly convert expression ("hello") of type
invari
ant(char[5u]) to int
test5.d(9): template instance test5.call!(void) error instantiating

which is correct. I cannot duplicate the problem. Works correctly with D 1 too.


-- 
Oct 02 2008