The following code compiles (and runs) perfectly fine under 1.2.6 and 1.2.8 but 
fails compilation in 1.4.0

<https://play.nim-lang.org/#ix=2BF4>
    
    
    import std/macros
    
    template mk_discard*(macroName: untyped): untyped =
      macro `macroName`(args: varargs[untyped]): untyped = discard
    
    expandMacros:
      mk_discard(foo)
    
    foo(a,b,c,1, 2, 3)
    
    
    Run

Error message: 
    
    
    macro foo(args`gensym0: varargs[untyped]): untyped =
      discard
    
    /usercode/in.nim(6, 1) template/generic instantiation of `expandMacros` 
from here
    /usercode/in.nim(7, 3) Error: illformed AST: macro foo(args`gensym0: 
varargs[untyped]): untyped =
      discard
    
    
    Run

Reply via email to