Yup, that works.

For anyone looking to spot the difference, here is original signature:
    
    
    template defineIndex*(name, source: typedesc, extractIt, cmpAB: untyped) 
{.immediate.} = ...
    

When you just remove the immediate, it breaks. Here is the working signature:
    
    
    template defineIndex*(name, source, extractIt, cmpAB: untyped) = ...
    

The difference is that _[all](https://forum.nim-lang.org/postActivity.xml#all) 
of the arguments are untyped, versus using typedesc for the first two arguments.

@Araq, if you've got a moment (or anyone else that can offer details): why does 
this work?

Reply via email to