The second one isn't strange, it's a hint which can improve performance if you
follow it sometimes :) but it can come from the library code too
Running your example gives me nice working results:
[OK] foo
Run
But I also have strange suggestion like you:
Hint: passing 'n[i].key' to a sink parameter introduces an implicit copy;
if possible, rearrange your program's control flow to prevent it
Turns out it's pretty trivial to reproduce. I've filed
[https://github.com/nim-lang/Nim/issues/14865](https://github.com/nim-lang/Nim/issues/14865)
.
$ cat test.nim
import unittest
test "foo":
check 3 + 4 == 7
$ nim c -r --threads:on --gc:orc test.nim
Hint:
Well, it would be nice if you try on the latest devel compiler :)
And if it still doesn't work - try to minimize it and report, like e.g. I did
in some cases -
OK, here's a weird bug. Once I enable both `--threads:on` and `--gc:orc`, all
of my unit tests (which uses the `unittest` module) fail to compile, with
gnarly looking C errors:
/Users/snej/.cache/nim/testCodec_d/@mtestCodec.nim.c:1144:112: error:
incomplete definition of type