If I make the signatures really precise then it matches. Is there a reason you 
need to use `is`? It still matches fine even without the added pragmas
    
    
    import std/tables
    
    import karax/[karaxdsl, kbase, vdom]
    
    
    type
      Context = ref object of RootObj
        urlParams: TableRef[kstring, kstring]
      Renderer = proc(context: Context): VNode {.noSideEffect, gcsafe, nimcall.}
    
    
    proc render(context: Context): VNode {.noSideEffect, gcsafe, nimcall.} =
      buildHtml(tdiv):
        text "This is index"
    
    static:
      echo render is Renderer
    
    # Even if I remove all the pragmas I added, this still works fine
    proc foo(x: Renderer) = discard
    
    foo(render)
    
    
    
    Run

Reply via email to