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)
    
    Run

Error message from c++ backend is as below:
    
    
    error: assigning to 'void *' from incompatible type 'void (*)(void *)'
                 result = x.ClP_0;
                          ~~^~~~~
    
    Run

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!

Reply via email to