Open disruptek opened 8 months ago
Thanks for filing this, I'm going to do a quick semantic trace on this to get an initial triage.
Pretty sure this is the same issue as https://github.com/nim-works/nimskull/issues/1181, and should be restested once https://github.com/nim-works/nimskull/pull/1192 is merged
I know, I know. This is, at present, a full-fat repro. :wink:
Example
This code only runs on Linux.
https://github.com/disruptek/insideout/blob/erasure/tests/6/tbillion2.nim#L49
The
call
macro from cps, which turns aCallback
andvarargs[typed]
into aContinuation
, seems to be losing track of the fact thatqueue
is aMailbox[Continuation]
and not merelyAtomicRef[MailboxObj[Continuation]]
. The code works in old nim and it works if you remove the iterator.To reproduce...
Actual Output
Expected Output
Additional Information