[Issue 2725] New: Pattern matching in static if not working with	variadic arguments
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Tue Mar 10 08:11:23 PDT 2009
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=2725
           Summary: Pattern matching in static if not working with variadic
                    arguments
           Product: D
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: andrei at metalanguage.com
struct A(B...) {}
void main()
{
    alias A!(int, float) X;
    static if (!is(X Y == A!(Z), Z))
    {
        static assert(false);
    }
}
This example fails the static assert. If one removes the float in the
instantiation of A the example compiles.
The compiler should match Z to the type tuple (int, float). Otherwise it is
impossible to detect whether a type is an instantiation of a variadic template.
-- 
    
    
More information about the Digitalmars-d-bugs
mailing list