[Issue 1241] New: ICE on template instance parameter
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Fri May 18 15:22:23 PDT 2007
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=1241
           Summary: ICE on template instance parameter
           Product: D
           Version: 1.014
          Platform: PC
        OS/Version: All
            Status: NEW
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: manuelk89 at gmx.net
The following template instance parameter crashes dmd when the parameter gets
accessed:
template List(L...)
{
        alias L get;
}
template Foo(alias A)
{
        int len1 = A.get.length; // access causes ICE
}
void main()
{
        alias Foo!(List!(1,2,3)) foo; // instance parameter is List!(1,2,3)
}
-------------------------------
compile session:
$ dmd main.d
dmd: expression.c:4729: virtual Expression* DotIdExp::semantic(Scope*):
Assertion `0' failed.
Aborted (core dumped)
---
PS: when this gets fixed there is a nice way to pass more than one Tuple to a
template by just passing several template instances that carry the tuples in
them (just as the List template above).
-- 
    
    
More information about the Digitalmars-d-bugs
mailing list