www.digitalmars.com Home | Search | C & C++ | D | DMDScript | News Groups | index | prev | next
Archives

D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.ide
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger

C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows

digitalmars.empire
digitalmars.DMDScript
electronics




digitalmars.D.bugs - [Issue 2029] New: Typesefe variadic functions don't work at compile time

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

           Summary: Typesefe variadic functions don't work at compile time
           Product: D
           Version: 2.013
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: bartosz relisoft.com


The following doesn't compile:

string foo (string [] a...)
{
    string result = "";
    foreach (s; a)
        result ~= s;
    return result;
}

mixin (foo ("int ", "x;"));

tError: cannot evaluate foo(cast(invariant(char)[][])((invariant(char)[][2u]
__arrayArg244 = void;
) , (__arrayArg244[0u]) = "int " , (__arrayArg244[1u]) = "x;" , __arrayArg244))
at compile time
attribute argument to mixin must be a string, not
(foo(cast(invariant(char)[][])
((invariant(char)[][2u] __arrayArg244 = void;
) , (__arrayArg244[0u]) = "int " , (__arrayArg244[1u]) = "x;" ,
__arrayArg244)))


-- 
Apr 24 2008