ref: a2653e75140890d3b29c1ff9f3abc2c281bda1d7
dir: /lib/thread/test/spawn.myr/
use std use thread var done : int32 var capture const main = { var ptr capture = 666 ptr = &capture thread.spawn({ std.assert(capture==666, "wrong captured value\n") std.assert(ptr#==666, "wrong captured ptr value\n") ptr# = 333 thread.xadd(&done, 1) }) while done == 0 /* nothing */ ;; std.assert(capture == 333, "capture wasn't written to correctly\n") }