I tried to remove void return type from my code, and discovered problem,
sometimes it doesn't work, is this expected or bug? This code won't compile,
[try](https://play.nim-lang.org/#ix=4toZ)
proc on_click*(fn: proc(e: string)) = discard
proc on_click*(fn: proc) = discard
on_click(proc (e: auto) = discard)
Run
Error
/usercode/in.nim(4, 9) template/generic instantiation of `on_click` from
here
/usercode/in.nim(2, 15) Error: invalid type: 'GenericParam' in this
context: 'proc (fn: proc (e: GenericParam)){.noSideEffect, gcsafe, locks: 0.}'
for proc
Run
But if you explicitly mark return as void it would
proc on_click*(fn: proc(e: string): void) = discard
proc on_click*(fn: proc: void) = discard
on_click(proc (e: auto): void = discard)
Run