Hi, new Nim user here. I'm trying to use closure type in hashset, while the c backend works well, the c++ backend fails to compile.
A minimal example:
import sets
type callType = proc() {.closure.}
var tableA = initHashSet[callType]()
let foo = proc()= discard
tableA.incl(foo)
doAssert tableA.contains(foo)
Error message from c++ backend is as below:
error: assigning to 'void *' from incompatible type 'void (*)(void *)'
result = x.ClP_0;
~~^~~~~
Tested in both 1.4.0 and the devel version, on OSX Mojave.
I can see the same code runs in the playground with the c++ backend. So maybe it's a bug just on osx ? Thanks!