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