1discard """
2  output: '''some string here
3dying some string here'''
4"""
5
6var
7  someGlobal: string = "some string here"
8  perThread {.threadvar.}: string
9
10proc threadDied() {.gcsafe.} =
11  echo "dying ", perThread
12
13proc foo() {.thread.} =
14  onThreadDestruction threadDied
15  {.gcsafe.}:
16    deepCopy(perThread, someGlobal)
17  echo perThread
18
19proc main =
20  var t: Thread[void]
21  createThread[void](t, foo)
22  t.joinThread()
23
24main()
25